php正则替换中逆向引用当参数怎么不行
正则替换中用$1,$2...去获取匹配到的部分字符串,我要把$1,$2...当做别的函数的参数,怎么办。我的代码如下:$str="hello,myemailis[emai...
正则替换中 用$1,$2...去获取匹配到的部分字符串,我要把 $1,$2...当做别的函数的参数,怎么办。
我的代码如下:
$str="hello ,my email is [email] ,keep in contact!!"; //我要用正则匹配出[email],并把它替换成email的字符长度,即5,
也就是说替换完后应该变为hello ,my email is 5 ,keep in contact!!
$str1=preg_replace('/\[(\w+)\]/',strlen('$1'),$str);
echo $str1;
//输出的却是hello ,my email is 2 ,keep in contact!!
也就是说它把'$1'当然字符串来传递了,但是我试了把strlen('$1')换成strlen($1)又会出错,用eval()去修改它也不行 展开
我的代码如下:
$str="hello ,my email is [email] ,keep in contact!!"; //我要用正则匹配出[email],并把它替换成email的字符长度,即5,
也就是说替换完后应该变为hello ,my email is 5 ,keep in contact!!
$str1=preg_replace('/\[(\w+)\]/',strlen('$1'),$str);
echo $str1;
//输出的却是hello ,my email is 2 ,keep in contact!!
也就是说它把'$1'当然字符串来传递了,但是我试了把strlen('$1')换成strlen($1)又会出错,用eval()去修改它也不行 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询