首页 >后端开发 >PHP问题 >php特殊字符怎么转换

php特殊字符怎么转换

藏色散人
藏色散人原创
2021-03-29 09:07:462773浏览

php转换特殊字符的方法:1、通过htmlspecialchars函数进行转换;2、通过“htmlspecialchars_decode”函数进行转换;3、通过htmlentities函数进行转换等等。

php特殊字符怎么转换

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

PHP特殊字符转换实体函数汇总

1.htmlspecialchars($string, $flag) (Convert special characters to HTML entities 转换特殊字符为HTML实体)

预定义的字符是:
& (和号)成为 &
" (双引号)成为 "
' (单引号)成为 '
< (小于)成为 <
> (大于)成为 >

$flag 默认为ENT_COMPAT | ENT_HTML401

常量名 描述
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); //&quot;2015竞赛&amp;&quot;quot;

2.htmlspecialchars_decode($string, $flag) (与上面相反,将特殊的 HTML 实体转换回普通字符)

EXP

    $str  =  "<p>this -&gt; &quot;</p>\n" ;
    
    echo htmlspecial_decode($str); // this -> "
    
    /*不转换双引号*/
    echo htmlspecial_decode($str, ENT_NOQUOTES); // this -> &quot;

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

是`htmlentities`的反函数

5.nl2br

转换换行符(\n(unix), \r(Mac), \r\n(Win))为`<br>`

【推荐学习:PHP视频教程

以上是php特殊字符怎么转换的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn