php转换特殊字符的方法:1、通过htmlspecialchars函数进行转换;2、通过“htmlspecialchars_decode”函数进行转换;3、通过htmlentities函数进行转换等等。
本文操作环境:windows7系统、PHP7.1版,DELL G3电脑
PHP特殊字符转换实体函数汇总
1.htmlspecialchars($string, $flag) (Convert special characters to HTML entities 转换特殊字符为HTML实体)
预定义的字符是:& (和号)成为 &" (双引号)成为 "' (单引号)成为 '< (小于)成为 (大于)成为 >
登录后复制
$flag 默认为ENT_COMPAT | ENT_HTML401
立即学习“PHP免费学习笔记(深入)”;
常量名 描述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
$str = "this -> "
" ; echo htmlspecial_decode($str); // this -> " /*不转换双引号*/ echo htmlspecial_decode($str, ENT_NOQUOTES); // this -> "
登录后复制
3. htmlentities
`htmlentities($string, $flag)`这个函数与htmlspecialchars的区别网上教程说是也会转换中文,但是我本地php5.5测试两个效果一样
登录后复制
$str='测试页面'; echo htmlentities($str); $str='测试页面'; echo htmlspecialchars($str);
登录后复制
4. html_entity_decode
是`htmlentities`的反函数
登录后复制
5.nl2br
转换换行符((unix), (Mac), (Win))为`
`
登录后复制