Unescaping“在动态PHP中

时间:2011-12-06 17:06:32

标签: php

我正在处理一个页面(http://www.flcbranson.org/freedownloads-new.php),它从rss Feed中加载数据。

rss feed包含描述,其中一些包含引号。

当显示页面时(您可以点击阅读摘要链接以填充上帝的全部内容以查看我正在谈论的内容),它对每个引用都有效。

我认为这是因为php的逃避要求。

有没有办法可以删除转义字符(明显的“删除引号”除外)?

4 个答案:

答案 0 :(得分:5)

听起来你开启了魔法引号。阅读PHP documentation for stripslashes()并特别注意神奇的引语。

简而言之,如果你知道你使用字符串而不是(比如说)数组,你可以这样:

if (get_magic_quotes_runtime()) {
    $string = stripslashes($string);
}

如果数据来自$_GET$_POST$_COOKIE超全球,请改用:

if (get_magic_quotes_gpc()) {
    $string = stripslashes($string);
}

如果它不是您正在处理的字符串,您可能需要查看PHP文档中的stripslashes_deep()实现。

答案 1 :(得分:1)

答案 2 :(得分:1)

答案 3 :(得分:1)

您需要通过以下方式运行数据来删除斜杠: stripslashes()

但是,您仍然想要输出(如果您正在使用此功能)HTML安全。 所以在以下数据上运行此函数: htmlspecialchars()