PHP代码中包含8进制和16进制还有字母混合如何转换成ASCII?
发布网友
发布时间:2022-04-23 20:34
我来回答
共1个回答
热心网友
时间:2022-04-06 05:39
<?php
function hex_replace($str){//转换成ASCII
$tmp = substr($str, 0, 1);
if($tmp == 'x' || $tmp == 'X'){ //判断是否是 16 进制, 否则当 8 进制处理
return chr(hexdec($str));
} else {
return chr(octdec($str));
}
}
$str = file_get_contents("cc.txt");
$str = preg_replace('/\\\\([xX][\\dA-Fa-f]{1,2})|\\\\([\\d]{1,3})/e', 'hex_replace(\'$1$2\')', $str);//替换
echo $str;
?>