【问题标题】:PHP Printing a string with multiple single quotesPHP打印带有多个单引号的字符串
【发布时间】:2015-10-09 16:28:25
【问题描述】:

所以我遇到了一个问题,它看起来应该是一个非常简单的解决方案,但我似乎无法弄清楚。

我正在使用准备好的语句从我的 SQL 中查询数据并且返回是正确的。我有var_dumped 结果并确认信息在那里。

表格显示:2'一路'

数组变量显示如下:2\'all the way\'

但是当我将它回显到页面时,我看到了:2

我已经尝试过htmlspecialcharshtmlentitiesaddslashesstripslashes 以及它们的一些组合。我在这里缺少一个功能吗?谷歌并没有真正的帮助,因为描述问题的词语非常笼统。

提前致谢!

编辑 抱歉 - 没有添加我的代码,因为我认为这是我不熟悉的功能。在这里。

        $Res = $db -> query("SELECT * FROM 01_02_item WHERE ParID = $ParID AND active = 1 ORDER BY OrderID") -> fetchAll(PDO::FETCH_ASSOC);
        if(empty($Res[0])) $return = "<span class = 'nodata'>No data</span>";
        foreach($Res as $r){
            $id = $r['id'];
            $name = htmlspecialchars($r['Name']);
            $title = stripslashes(htmlspecialchars($r['Description']));
            $return .= "<li href = '$id' title = '$title' name = '$name'>$name</li>";
        }
        return $return;

【问题讨论】:

  • 请将您正在使用的 PHP 代码发布到 echo 这个屏幕上...
  • 很难帮助没有代码。请张贴。
  • 请改用htmlspecialchars($r['Description'],ENT_QUOTES)。看看这是否有效。哎呀,@GrasDouble 在我之前说过。
  • 工作就像一个魅力。谢谢!

标签: php escaping html-escape-characters


【解决方案1】:

默认情况下htmlspecialchars() 不会转义单引号。

你应该使用htmlspecialchars('foobar', ENT_QUOTES)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-09-16
    • 2019-03-01
    • 1970-01-01
    • 2020-08-14
    • 1970-01-01
    相关资源
    最近更新 更多