关于php的反向引用
能不能在引用时候附加个函数处理这个分组呢
比如复制代码
//url编码成%3c,想替换成<。需要使用16位转10进位。hexdec("3c")
$str="<";
$str=urlencode($str);
//echo $str;
echo preg_replace("/\%([0-9a-z]{2})/i","&#".hexdec("\${1}").";",$str);
不过这个引用并没有成功。。结果成了hexdec("1")=1
能不能在引用时候附加个函数处理这个分组呢
比如复制代码
//url编码成%3c,想替换成<。需要使用16位转10进位。hexdec("3c")
$str="<";
$str=urlencode($str);
//echo $str;
echo preg_replace("/\%([0-9a-z]{2})/i","&#".hexdec("\${1}").";",$str);
不过这个引用并没有成功。。结果成了hexdec("1")=1
function changeStr($matches)
{
return '&#' . hexdec($matches[1]) . ';';
}
$str="<>";
$str=urlencode($str);
echo preg_replace_callback("/\%([0-9a-z]{2})/i", "changeStr", $str);