PHP打印带有多个单引号的字符串

时间:2015-10-09 16:28:26

标签: php escaping html-escape-characters

所以我有一个问题似乎应该是一个非常简单的修复,但我似乎无法弄明白。

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

表格显示了这一点:2'所有方式'

数组变量显示:2 \'所有方式\'

但是当我回到页面时,我看到了这个:2

我尝试了htmlspecialcharshtmlentitiesaddslashesstripslashes以及其中一些组合。我在这里缺少一个功能吗? Google并不是很有用,因为描述问题的词语非常通用。

提前致谢!

修改 对不起 - 没有添加我的代码,因为我认为这是一个我不熟悉的功能。在这里。

        $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;

1 个答案:

答案 0 :(得分:2)

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

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