一 . html文档中的转义字符详解
HTML中<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用。这些符号是不显示在我们最终看到的网页里的,那如果我们希望在网页中显示这些符号,该怎么办呢?
那就需要将这些符号进行转义,让浏览器不去按照它原来的意义去解释它。
转义字符串的组成
转义字符串(Escape Sequence),即字符实体(Character Entity)分成三部分:第一部分是一个&符号,英文叫ampersand;第二部分是实体(Entity)名字或者是#加上实体(Entity)编号;第三部分是一个分号。
比如,要显示小于号(<),就可以写 < 或者 < 。
用实体(Entity)名字的好处是比较好理解,一看lt,大概就猜出是less than的意思,但是其劣势在于并不是所有的浏览器都支持最新的Entity名字。而实体(Entity)编号,各种浏览器都能处理。
提示:实体名称(Entity)是区分大小写的。
备注:同一个符号,可以用“实体名称”和“实体编号”两种方式引用,“实体名称”的优势在于便于记忆,但不能保证所有的浏览器都能顺利识别它,而“实体编号”则没有这种担忧,但它实在不方便记忆。
HTML特殊转义字符列表(只列出最常用的)
显示 | 说明 | 实体名称 | 实体编号 |
---|---|---|---|
半方大的空格 |   |   | |
全方大的空格 |   |   | |
不断行的空白格 | |   | |
< | 小于号 | < | < |
> | 大于号 | > | > |
& | &符号 | & | & |
" | 双引号 | " | " |
© | 版权 | © | © |
® | 已注册商标 | ® | ® |
更详细的HTML转义字符点这里
二 . JS字符串中的转义字符详解
JS转义符
JS转义符由’\ ‘开始
比如要在字符串里面有’,可表示为\’
JS字符串编码中换行问题
解释一下,我的意思是我需要字符串在存储的时候是连续的,而在编辑器里面显示的时候有换行,这样做的目的是代码结构清晰,这个时候的处理方法是:在字符串每行最后一个字符后面加上’\ ‘,意思是将编辑器里面的换行符给转义掉,表示当前行和下一行是连续的。注意第二行前面如果有空格或tab缩进,也是在字符串里面的。
情况一:如果在JS字符串里面编辑器换行,将导致JS错误。
情况二:在JS字符串里面包含\n,将这个字符串prepend到一个标签里面,这个\n将解释为空格。
情况三:在JS字符串里面包含\n,将这个字符串放在textarea标签的val里面,将解释为换行。
三 . PHP字符串相关问题
PHP转义符
PHP转义符也是由’\ ‘开始
比如要在字符串里面有“,可表示为\”
比如要在字符串里面有 \,可表示为 \\
PHP字符串换行问题
PHP字符串里面换行不能使用 \ 进行转义。
但编辑器回车换行,不会报错。
另外php字符串变量可以使用定界符表示,用起来更方便
$str = <<<EOP
row1ContentContent
row2ContentContent
EOP;
/*
这个字符串在存储时,是从第二行开始,包括第二行开始的tab缩进,以及第二行结束的换行符。
*/