1.htmlspecialchars($string, $flag)
(Convert special characters to HTML entities 转换特殊字符为HTML实体)php
预约义的字符是: & (和号)成为 & " (双引号)成为 " ' (单引号)成为 ' < (小于)成为 < > (大于)成为 >
$flag 默认为ENT_COMPAT | ENT_HTML401
html
常量名 | 描述 |
---|---|
ENT_COMPAT | 转换双引号,不转换单引号。 |
ENT_QUOTES | 单引号和双引号都转换。 |
ENT_NOQUOTES | 单引号和双引号都不转换。 |
ENT_HTML401 | 做为HTML 4.01编码处理。 |
ENT_XML1 | 做为XML 1编码处理。 |
ENT_XHTML | 做为XHTML编码处理。 |
ENT_HTML5 | 做为HTML 5编码处理。 |
EXP: 函数
$str = '"2015竞赛&"'; echo htmlspecialchars($str); //"2015竞赛&"quot;
2.htmlspecialchars_decode($string, $flag)
(与上面相反,将特殊的 HTML 实体转换回普通字符)测试
EXP this
$str = "<p>this -> "</p>\n" ; echo htmlspecial_decode($str); // this -> " /*不转换双引号*/ echo htmlspecial_decode($str, ENT_NOQUOTES); // this -> "
3. htmlentities 编码
`htmlentities($string, $flag)` 这个函数与htmlspecialchars的区别网上教程说是也会转换中文,可是我本地php5.5测试两个效果同样
$str='<a href="test.html">测试页面</a>'; echo htmlentities($str); $str='<a href="test.html">测试页面</a>'; echo htmlspecialchars($str);
4. html_entity_decode unix
是`htmlentities`的反函数
5.nl2brcode
转换换行符(\n(unix), \r(Mac), \r\n(Win))为`<br>`