&符问题

时间:2011-04-15 15:55:50

标签: php mysql

我的数据库中存储了一个链接,让我们说是

http://somedomain.com/page.php?username=tom&surname=smith

当我把它带回html时,由于&

我收到了xhtml错误

如何将&转换为&

另外,我在数据库中有一些链接已经&而不是&

那么,如何在需要时转换&,但不能将&转换为&

3 个答案:

答案 0 :(得分:6)

不存储转义/编码文本。您永远不知道检索文本时需要采用的格式。如果您将其存储为URL编码,但您必须将其插入HTML文档,则必须撤消url编码并切换到HTML编码。哪个是浪费。最好以“原始”格式存储,并在需要时根据需要进行转换。

在插入XML文档之前,使用htmlspecialchars()对XML / HTML元字符进行转义/编码。

答案 1 :(得分:1)

您可以使用htmlentities

答案 2 :(得分:0)

最简单的方法是将所有&替换为&,然后将所有&替换为$#38;,例如

$content = str_replace("&", "&", $content);
$content = str_replace("&", "$#38;", $content);

但是你不应该在你的数据库中存储这样的数据。