PHP中htmlspecialchars()和htmlspecialchars_decode()的使用

gengchao 2020-02-25 AM 333℃ 0条

一、 htmlspecialchars(string,flags,character-set,double_encode)

参数说明
string 必须,要处理的字符串。

flags 可选。规定如何处理引号、无效的编码以及使用哪种文档类型。
可用的引号类型:

ENT_COMPAT - 默认。仅编码双引号。

ENT_QUOTES - 编码双引号和单引号。

ENT_NOQUOTES - 不编码任何引号。

character-set:

UTF-8 - 默认。ASCII 兼容多字节的 8 位 Unicode
POCO 的后端为GBK,所以用这个函数的时候,尽量使用编码,而默认的编码为UTF-8

GB2312 - 简体中文,国家标准字符集

double_encode 可选。布尔值,规定了是否编码已存在的 HTML 实体。

TRUE - 默认。将对每个实体进行转换。

FALSE - 不会对已存在的 HTML 实体进行编码。

示例代码
<?php
    $str = "'my name is Jerry', he said";
    // 只处理双引号
    echo htmlspecialchars($str, ENT_COMPAT);
    
    // 处理单双引号
    echo htmlspecialchars($str, ENT_QUOTES);
    // 不处理任何引号
    echo htmlspecialchars($str, ENT_NOQUOTES);

?>

二、htmlspecialchars_decode解码

htmlspecialchars_decode(string,flags)

string 必需。规定要解码的字符串。

flags 可选。规定如何处理引号以及使用哪种文档类型。

可用的引号类型:

ENT_COMPAT - 默认。仅解码双引号。

ENT_QUOTES - 解码双引号和单引号。

ENT_NOQUOTES - 不解码任何引号。


注:在处理的时候尽量将所有的引号全都处理掉,否则会有sql注入的危险!

标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~