为什么&成为&

时间:2014-12-11 11:59:59

标签: html encoding

我们有一个TinyMCE编辑器,我们发送了可以插入编辑器的图像,如下所示:

'test?foo=something&bar=something'

当我在TinyMCE中查看源代码时,它变为:

<img src="test?foo=something&amp;bar=something"/>

为什么&成为&amp;?这背后的主要思想是什么?

哪个软件会自动执行此转换,因为我看不到任何显式代码。我知道HTML实体。

3 个答案:

答案 0 :(得分:2)

HTML中保留了一些特殊字符。这些字符不能像其他字符一样直接使用。

例如,HTML中的所有标记都包含在少于几个标记(即“&lt;”和“&gt;”)中。所以要显示'&gt;'或'&lt;'登录HTML页面,它将字符转换为HTML代码。这些HTML代码由浏览器转换为ascii字符。

&安培;是'&amp;'的HTML代码。

还有许多其他特殊字符。其中一些列在下面的链接中。

http://www.w3schools.com/html/html_entities.asp

答案 1 :(得分:0)

Html不接受像&amp;这样的令牌。并为他们提供特殊的HTML代码:

http://www.ascii.cl/htmlcodes.htm

有关实体的更多信息:

http://www.w3schools.com/html/html_entities.asp

尽量不要在其中保存带有此类令牌的文件,因为它可能会使事情变得复杂。

答案 2 :(得分:0)

某些字符不能在XML中使用,因为它们具有特殊含义。必须使用以下预定义实体转义这些字符。如果您使用下面列出的某个字符,请使用相应的字符串替换它:

ampersand (&) is escaped to &amp; 
double quotes (") are escaped to &quot; 
single quotes (') are escaped to &apos; 
less than (<) is escaped to &lt; 
greater than (>) is escaped to &gt;