编程语言
首页 > 编程语言> > php – 转换MAC地址格式

php – 转换MAC地址格式

作者:互联网

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

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

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

解决方法:

str_replace和preg_replace的组合:

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

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

Test at eval.in

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

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

Test at regex101.com

性能没有太大差异.

标签:mac-address,php,regex,formatting
来源: https://codeday.me/bug/20190728/1561088.html