0

我在我的小型 CMS 中使用 CKEDITOR。

当我使用本地链接功能时,它工作正常。但是我一上网,并试图建立一个链接 mysql_real_escape_string(); 搞砸了,我得到如下链接:

<a href=\"\\\" target=\"\\&quot;_blank\\&quot;\">Se beautyPopup p&aring; gitHub</a>

我该如何解决?

4

1 回答 1

1

您看到的问题是因为您正在使用mysql_real_escape_string转义 HTML 输出。那不是它的用途。这是为了逃避进入数据库的数据。

您正在寻找的是:htmlspecialchars(). 也不要忘记传递编码。这方面的一个例子是:

echo htmlspecialchars($yourString, ENT_QUOTES, 'UTF-8');

另请注意,如果您正在编写新代码,mysql_*无论如何都不鼓励您在 PHP 中使用旧 API,因为它已被弃用

更新

根据您的评论,我看到您正在尝试保留一些标签,同时禁止其他标签。在这种情况下,我只能建议您查看HTML Purifier

于 2012-12-30T22:03:04.950 回答