Php 正则表达式转义问题
在下面的语句中,如何转义替换部分中的$Php 正则表达式转义问题,php,regex,Php,Regex,在下面的语句中,如何转义替换部分中的$ $tmp_code = preg_replace('/(<\?=\$([a-zA-Z0-9\_]+)\?>)/me','"{$$2}"',$tmp_code); $tmp_code=preg_replace('/()/me','{$$2}',$tmp_code); 被替换的文本应该类似于{$test},但是我不知道如何转义第一个$。我试过\$,但没用。一般来说,你应该更喜欢/e表达式修饰符。但是,根据您想做什么,有多种变通方法 可以拆分字符
$tmp_code = preg_replace('/(<\?=\$([a-zA-Z0-9\_]+)\?>)/me','"{$$2}"',$tmp_code);
$tmp_code=preg_replace('/()/me','{$$2}',$tmp_code);
被替换的文本应该类似于{$test},但是我不知道如何转义第一个$。我试过\$,但没用。一般来说,你应该更喜欢
/e
表达式修饰符。但是,根据您想做什么,有多种变通方法
可以拆分字符串表达式:
'"{"."$"."$2"."}"', $tmp
或者使用替代占位符语法并转义{$
,这样它就不会被解释为双引号中的变量:
'"{\\\$\2}"'
(不,我不知道。只是随便修补一下。)?那行前面的
$tmp\u代码包含什么?