【发布时间】:2011-08-07 09:42:12
【问题描述】:
我在发布之前查看了相关问题,我无法修改任何相关答案以使用我的方法(不擅长正则表达式)。
基本上,这是我现有的线路:
$code = preg_replace_callback( '/"(.*?)"/', array( &$this, '_getPHPString' ), $code );
$code = preg_replace_callback( "#'(.*?)'#", array( &$this, '_getPHPString' ), $code );
它们都匹配包含在'' 和"" 之间的字符串。我需要正则表达式来忽略它们之间包含的转义引号。因此'' 之间的数据将忽略\',"" 之间的数据将忽略\"。
任何帮助将不胜感激。
【问题讨论】:
-
您还需要能够处理转义的斜杠吗?换句话说,它是否应该假设任何以斜线开头的引号都被转义了,即使该斜线本身前面有一个斜线?
-
@Phoenix,如果你指的是
\\"和\\',那么不,我没有。 -
如果你不处理转义字符,那么转义特定字符是无效的。