防止php从输出中删除反斜杠

防止php从输出中删除反斜杠,php,javascript,regex,backslash,Php,Javascript,Regex,Backslash,在我的网站上,我有一个PHP脚本,它接受多个源文件(HTML、CSS和javascript),对它们进行优化,将它们嵌入到页面中,并缓存它们(基本上是编译我的网站)。最近,我添加了(一个用于将JSON编码为字符串的jQuery插件),但部分代码包含多个斜杠(在某种正则表达式中使用): 当我前面提到的脚本处理这一行时,其中一个反斜杠被删除,并导致: var escapeable = /["\\x00-\x1f\x7f-\x9f]/g, 此外,我还设置了一个简短的脚本,以确保问题不是由PHP脚本

在我的网站上,我有一个PHP脚本,它接受多个源文件(HTML、CSS和javascript),对它们进行优化,将它们嵌入到页面中,并缓存它们(基本上是编译我的网站)。最近,我添加了(一个用于将JSON编码为字符串的jQuery插件),但部分代码包含多个斜杠(在某种正则表达式中使用):

当我前面提到的脚本处理这一行时,其中一个反斜杠被删除,并导致:

var escapeable = /["\\x00-\x1f\x7f-\x9f]/g, 
此外,我还设置了一个简短的脚本,以确保问题不是由PHP脚本处理javascript的方式引起的,而是PHP输出javascript的方式的问题:

<?php
$string = 'var  escapeable = /["\\\x00-\x1f\x7f-\x9f]/g,';

echo($string); //this outputs: var escapeable = /["\\x00-\x1f\x7f-\x9f]/g,
?>
您可以使用(需要PHP 5.3.0):

$string=
<?php
$string = 'var  escapeable = /["\\\x00-\x1f\x7f-\x9f]/g,';

echo($string); //this outputs: var escapeable = /["\\x00-\x1f\x7f-\x9f]/g,
?>
$string = <<<'EOD'
var  escapeable = /["\\\x00-\x1f\x7f-\x9f]/g,
EOD;