我有一个变量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这样的工具
答案 0 :(得分: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;