另一个&符问题

时间:2011-04-20 10:15:56

标签: php mysql

我的数据库中存储了基本的html,其中包含html,例如锚标记。

我正在存储所有&在数据库中为&

然而,当数据显示在屏幕上时,锚标签停止工作,因为&在链接中变为&

问题是,锚标记周围的其他内容应保持为&

例如

数据库内容可能如下所示

<p>this is paragraph 1 & this is <a href="http://www.companyname.com/page.php?paragraph=2&sentence=4">paragraph 2</a>.</p>

&amp;在网址中变为&#38;,这会阻止网址工作,但与此同时,&amp;在

标签中,任何其他标记都应保留为&#38;

3 个答案:

答案 0 :(得分:2)

&amp;在href和<p>中,应将&amp;编码为有效

来源:http://htmlhelp.com/tools/validator

答案 1 :(得分:1)

可能您正在寻找http://pl.php.net/manual/en/function.html-entity-decode.php

我假设您将数据库分别存储在db。

另请参阅:http://pl.php.net/manual/en/faq.html.php

答案 2 :(得分:0)

网址仍应“有效”。

虽然常见的约定不是麻烦,但像&amp;&#38;这样的&符号should always be encoded等HTML实体 - 你已经在做后者了,所以生成的URL应该是有效的。

e.g。 <a href="page.php?a=1&amp;a=2">link</a><a href="page.php?a=1&#38;a=2">link</a>都会显示链接到URI page.php?a=1&a=2的锚标记。


更新啊,显然在某些浏览器中&#38; is seen as的哈希结束了网址。

真是一团糟!使用&amp;代替&#38; ... or, ideally, %26