html转义字符本文

来源:互联网 发布:美工岗位说明书 编辑:程序博客网 时间:2024/06/08 17:30

本文与 tiankonguse 的博客里同步发表


今天遇到了 html 字符转义的问题,于是记录一下。


问题重现


在链接中,可以添加一个 title 字段,功能是对这个链接的描述。

但是,这个 title 里的字符有严格的限制,不能有引号,空格等字符,于是我就需要进行字符转义了。

这个 title 是在后台用 php 自动生成的,于是便需要使用 php 对字符串进行转义了。


解决方案


php 中有个字符串替换函数 str_replace 非常方便。

可以先看看我的字符转义的代码


$_title = str_replace( array("\""," ","<",">","&"), array("""," ","<",">","&"),$title);


这行代码进可以达到转义一些字符的目的。

第一个参数代表搜索的字符,第二个代表替换的字符,第三个是原串。


HTML 字符扩展知识


转义字符串(Escape Sequence)也称字符实体(Character Entity)。

在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。


转义字符串的组成


转义字符串(Escape Sequence),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。

比如,要显示小于号(<),就可以写 &lt; 或者 &#60; 。


HTML特殊转义字符列表


显示说明实体名称实体编号 半方大的空白 &ensp; &#8194; 全方大的空白  &emsp;&#8195; 不断行的空白格 &nbsp; &#160;小于 &lt; &#60;大于 &gt; &#62;&符号 &amp; &#38;双引号 &quot; &#34;© 版权&copy;&#169;® 已注册商标 &reg; &#174; 商标(美国) &#8482;× 乘号 &times; &#215;÷ 除号 &divide; &#247;



JavaScript转义符

转义序列字符\b退格\f走纸换页\n换行\r回车\t横向跳格 (Ctrl-I)\'单引号\"双引号\\反斜杠


参考资料

http://114.xixik.com/character/

0 0
原创粉丝点击