加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 转换MAC地址格式

发布时间:2020-12-13 21:52:19 所属栏目:PHP教程 来源:网络整理
导读:我刚刚编写了一个小脚本来从交换机中提取数百个MAC地址进行比较,但它们的格式为“0025.9073.3014”,而不是标准的“00:25:90:73:30:14”. 我很难理解如何转换它,我能想出的最好的东西是将它们分解成“.”,然后将它们分成两部分,然后用“:”分隔符重新加
我刚刚编写了一个小脚本来从交换机中提取数百个MAC地址进行比较,但它们的格式为“0025.9073.3014”,而不是标准的“00:25:90:73:30:14”.

我很难理解如何转换它,我能想出的最好的东西是将它们分解成“.”,然后将它们分成两部分,然后用“:”分隔符重新加入所有部分.

我对hacky方法没问题,但这让我很烦,因为这是一种非常糟糕的方法.有没有办法更好地执行此操作?

解决方法

str_replace和preg_replace的组合:

$str = preg_replace('~..(?!$)~',':',str_replace(".","",$str));

首先剥离了.然后添加:之后..两个任何字符(?!$)如果不在最后.

Test at eval.in

或者使用capture group并在没有str_replace的情况下执行:

$str = preg_replace('~(..)(?!$).?~','1:',$str);

Test at regex101.com

性能没有太大差异.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读