-2

我有一个变量00 EF 5D 0E,我想编写一个函数,以下列方式转换任何此类变量。

1) 删除空格并用冒号替换。

2)所有字母都缩小为小写

3)如果 0 是一对中的第一个,则必须将其删除,即

00 EF 5D 0E becomes 0:ef:5d:e
88 8E 07 TT becomes 88:8e:7:tt

是否可以编写一个可以实现此目的的 php 函数,或者我必须将其提取到文件中,然后使用 sed 等工具

4

1 回答 1

1

根据输入和预期输出,你可以做这样的事情。请注意,动态函数需要 5.3+。

// split input by spaces
$parts = explode(' ', $input);

// remove leading zeros
$parts = array_map(function($part) {
    return preg_replace('/0/', '', $part, 1);
}, $parts);

// make lowercase and join parts with ":"
$output = strtolower(implode(':', $parts));

echo $output;

沙盒测试

于 2013-09-12T06:35:56.897 回答