帝国cms教程栏目,提供精品建站,仿站,二次开发,安装,标签使用等图文教程,帮助建设和管理好你的帝国cms站点。
今天给大家介绍一下帝国cms的ehtmlspecialchars函数,二次开发中经常会用到。该函数可以把一些预定义的字符转换为HTML实体,返回转换后的新字符串,原字符串不变。用于防止别人提交html代码进行攻击, 比如我发帖时提交HTML代码, 代码里含有攻击性代码 .. 那么接收时进行htmlspecialchars转换 就可以让代码不生效.
函数在:/e/class/function.php 中,代码如下:
//htmlspecialchars处理
function ehtmlspecialchars($val,$flags=ENT_COMPAT){
global $ecms_config;
if(PHP_VERSION>='5.4.0')
{
if($ecms_config['sets']['pagechar']=='utf-8')
{
$char='UTF-8';
}
else
{
$char='ISO-8859-1';
}
$val=htmlspecialchars($val,$flags,$char);
}
else
{
$val=htmlspecialchars($val,$flags);
}
return $val;
}
被转换的预定义的字符有:
&:转换为&
":转换为"
':转换为成为 '
<:转换为<
>:转换为>
$flags可选参数还有
可用的引号类型:
ENT_COMPAT - 默认。仅编码双引号。
ENT_QUOTES - 编码双引号和单引号。
ENT_NOQUOTES - 不编码任何引号。
无效的编码:
ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。
ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。
ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。
规定使用的文档类型的附加 flags:
ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。
ENT_HTML5 - 作为 HTML 5 处理代码。
ENT_XML1 - 作为 XML 1 处理代码。
ENT_XHTML - 作为 XHTML 处理代码。
推荐教程:帝国CMS教程
以上就是帝国cms二次开发经常会用的ehtmlspecialchars函数介绍,更多相关内容请关注帝国模板之家。
转载请注明来源:帝国cms二次开发经常会用的ehtmlspecialchars函数介绍
本文永久链接地址:https://www.moyouyouw.cn/code/583.html
郑重声明:本站所有主题/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除,谢谢!我们不承担任何技术及版权问题,且不对任何资源负法律责任。
售价: 300 16 ℃ 0 评论
售价: 300 8 ℃ 0 评论
售价: 200 22 ℃ 0 评论
已有 位小伙伴发表了看法
欢迎 你 发表评论