我有一个像
这样的字符串 0xffffffHello there 0x32ac49human! Nice to 0x334455meet you!
删除所有十六进制子串的最佳方法是什么?每个十六进制子字符串总是6个字符(颜色代码)
输出为Hello there human! Nice to meet you!
答案 0 :(得分:3)
使用正则表达式和preg_replace
将是您的最佳选择。
例如:
echo preg_replace('/0x[0-9a-fA-F]{6}/', '', '0xffffffHello there 0x32ac49human! Nice to 0x334455meet you!');
输出:
Hello there human! Nice to meet you!
正则表达式故障伪代码:
/
0x #Match '0x'
[0-9a-fA-F] #Match any hex character.
{6} #Require the hex character match to match 6 times.
/
答案 1 :(得分:0)
你只需为此组装一个正则表达式。
0x
可以按字面匹配。
[[:xdigit:]]
是匹配十六进制数字的posix character class。
需要重复{6}
次
最后,只为preg_replace
添加/
分隔符。