Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式转义问题_Php_Regex - Fatal编程技术网

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代码包含什么?