所以我一直在玩正则表达式,我的朋友挑战我写一个脚本来替换字符串中的所有十六进制。他给了我一个混合了不同字符的大文件,当然还有一些十六进制字符串。
每次出现的十六进制都以 开头\x
,例如:\x55
.
我认为这很容易,所以我在一些在线正则表达式测试器上尝试了这种模式:/\\x([a-fA-F0-9]{2})/
它工作得很好。
但是,当我将它放入一些 PHP 代码中时,它根本无法替换它。
任何人都可以帮助我朝着正确的方向前进吗?
这是我的代码:
$toDecode = file_get_contents('hex.txt');
$pattern = "/\\x(\w{2})/";
$replacement = 'OK!';
$decoded = preg_replace($pattern, $replacement, $toDecode);
$fh = fopen('haha.txt', 'w');
fwrite($fh, $decoded);
fclose($fh);