当运行一个返回字符串的函数时,我最终会在引号之前使用向后斜杠,如下所示:
$string = get_string();
// returns: <a href=\"http://example.com/\">Example</a>
我怀疑是某种类型的逃避现象发生在某处。我知道我可以用字符串替换向后斜杠,但我想在这些情况下,你运行某种类型的unescape函数?
答案 0 :(得分:2)
只有在匹配起始/结束分隔符时才需要转义引号。此代码应该可以正常运行:
$string = '<a href="http://example.com/">Example</a>';
如果你的字符串用单引号括起来,那么&#34;不需要转义。同样,情况恰恰相反。
避免使用stripslashes()
,因为如果单引号需要包含斜杠,则可能会导致问题。一个简单的查找/替换应该适合您:
$string = '<a href=\"http://example.com/\">Example</a>';
$string = str_replace($string, '\"', '"');
echo $string; //echos <a href="http://example.com/">Example</a>
答案 1 :(得分:2)
<?php
$string = '<a href=\"http://example.com/\">Example</a>';
echo stripslashes($string);
?>