预定义字符和HTML实体的区别
答案:1 悬赏:0 手机版
解决时间 2021-03-27 15:50
- 提问者网友:火车头
- 2021-03-26 16:24
预定义字符和HTML实体的区别
最佳答案
- 五星知识达人网友:西岸风
- 2021-03-26 16:34
很多程序员在编写代码的时候总是被预定义字符和HTML实体这两个名词搞蒙圈,看着看着脑袋就晕了!其实挺简单的。。。
HTML中预定义字符是指:<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。
这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?
这就要说到HTML转义字符串(Escape Sequence)了。
转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
例子1:通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用HTML实体" "表示空格。
例子2:在客户端用户提交表单的时候 要对提交的内容转换成HTML实体,这是因为避免恶意代码攻击。比如用户提交的是一段HTML代码[这是一段代码]不转换的话,浏览器就会认为是HTML标签,不会输出,在PHP服务器端通常的处理方法是用htmlspecialchars()或htmlentities()函数进行转换。
HTML中预定义字符是指:<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。
这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?
这就要说到HTML转义字符串(Escape Sequence)了。
转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
例子1:通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用HTML实体" "表示空格。
例子2:在客户端用户提交表单的时候 要对提交的内容转换成HTML实体,这是因为避免恶意代码攻击。比如用户提交的是一段HTML代码[这是一段代码]不转换的话,浏览器就会认为是HTML标签,不会输出,在PHP服务器端通常的处理方法是用htmlspecialchars()或htmlentities()函数进行转换。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯