帝国CMS中的HTML标签过滤函数
帝国CMS过滤html标签函数是`htmlspecialchars()`,它用于将特殊字符转换为HTML实体,从而防止跨站脚本攻击(XSS)。这个函数接受两个参数:要转换的字符串和可选的编码。如果不指定编码,默认为当前页面的编码。例如,如果要过滤掉`"; $safe_str = htmlspecialchars($str, ENT_QUOTES, 'UTF-8'); echo $safe_str; ``` 输出结果将是:`<script>alert('XSS')</script>`,这样浏览器就不会执行其中的JavaScript代码了。
帝国CMS过滤特定的字符函数,多用于简介地方,把函数放在“/e/class/connect.php”最后面,当然你只对前台过滤也可以放在“/e/class/userfun.php”里面,我由于要对整个系统二次开发所以放在connect后面,前后台都可以使用。
//去除HTML标记functionNoHTML($string){$string=preg_replace("'<script[^>]*?>.*?</script>'si","",$string);//去掉javascript$string=preg_replace("'<[/!]*?[^<>]*?>'si","",$string);//去掉HTML标记$string=preg_replace("'([rn])[s]+'","",$string);//去掉空白字符$string=mb_ereg_replace('^(|)+','',$string);$string=mb_ereg_replace('(|)+$','',$string);$string=preg_replace("'&(quot|#34);'i","",$string);//替换HTML实体$string=preg_replace("'&(amp|#38);'i","",$string);$string=preg_replace("'&(lt|#60);'i","",$string);$string=preg_replace("'&(gt|#62);'i","",$string);$string=preg_replace("'&(nbsp|#160);'i","",$string);return$string;}
用法:
<?=NOHTML($navinfo['你的字段'])?>
比如:
<?=esub(NoHTML($bqr[smalltext]),80,'...')?>