Php 另一个符号问题
我的数据库中存储了基本的html,其中包括诸如锚标记之类的html 我将所有&存储在数据库中为Php 另一个符号问题,php,mysql,Php,Mysql,我的数据库中存储了基本的html,其中包括诸如锚标记之类的html 我将所有&存储在数据库中为& 但是,当数据重新显示在屏幕上时,锚定标记停止工作,因为链接中的&变为& 问题是,锚定标记周围的其余内容应保持为& 比如说 数据库内容可能如下所示 <p>this is paragraph 1 & this is <a href="http://www.companyname.com/page.php?paragraph=2&sentence=4"&
&代码>
但是,当数据重新显示在屏幕上时,锚定标记停止工作,因为链接中的&变为&代码>
问题是,锚定标记周围的其余内容应保持为&代码>
比如说
数据库内容可能如下所示
<p>this is paragraph 1 & this is <a href="http://www.companyname.com/page.php?paragraph=2&sentence=4">paragraph 2</a>.</p>
这是第1段&这是
url中的&变为&
停止url工作,但同时,选项卡中的&以及任何其他标记应保持为&代码>您可能正在寻找
我假设您正在数据库中单独存储url
另请参见:URL仍应“有效”
虽然常见的惯例并不麻烦,但像符号这样的HTML实体像&代码>或和#38代码>-您已经在执行后者,因此生成的URL应该是有效的
e、 g.
和
都提供了一个锚定标记,链接到URIpage.php?a=1&a=2
更新啊,显然在某些浏览器中,&38代码>结束URL
真是一团糟!使用&代码>而不是&代码> href和
中的和都应编码为&代码>是否有效
来源:href和中的和都应编码为&;为了有效-我不认为这会阻止URL“工作”。正确编码HTML实体是正确的;人们通常不会费心用HTML编码URL中的&
,但他们应该这样做。@Twelve47:这很有效。谢谢你应该把这个作为你的答案,这样我才能接受。@Twelve47:Are不是&代码>和&代码>同一实体?如果数据库已经包含“有效”html(即和等),那么为什么不要求将&
存储为&代码>也是吗?现在,您只存储部分有效的html,因为例如,&此…
不是有效的html实体否,URL位于内容中,即,我在数据库中有一个内容列,文本中的所有文本和URL都进入该列以获取内容。就像你的答案一样,链接也在句子中,这就变得相当棘手了。我认为您的所见即所得编辑器在放入db之前进行了转换。您可以使用某种类型的regexp查询来提取url并对其进行更改。或者只需使用stru替换来更改&编码>进入&
它们不应该被解码。实体应该用HTML编码。但是这不应该用HTML编码吗不象和#38代码>?请看:@Downvoter:请留下评论,解释为什么你认为这个答案不正确。