当前位置:首页 > 操作系统 > MacOs

php – 转换MAC地址格式

我刚刚编写了一个小脚本来从交换机中提取数百个MAC地址进行比较,但它们的格式为“0025.9073.3014”,而不是标准的“00:25:90:73:30:14”.

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

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

解决方法:

str_replace和preg_replace的组合:

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

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

Test at eval.in

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

<code>$str = preg_replace('~(..)(?!$).?~', '1:', $str);
</code>

Test at regex101.com

性能没有太大差异.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐