在帝国cms制作模板的时候有一些地方可能要用到新闻内容里面的数据者其它一些带有html内容的数据,如何去过滤掉这些内容中的html字符代码呢?

一般用到的地方是列表页调用新闻的正文,但是不要正文里面的Html代码,而帝国本身是没有这个过滤html代码的函数的,所以这个时候就要自己来写一个函数支持了。

将以下代码放到:/e/class/userfun.php (二次开发接口文件) 第二行开始里面就行了。

代码如下:
 

//去除HTML标记
function DELHTML($string){
  $string = preg_replace("'<script[^>]*?>.*?</script>'si", "", $string);//去掉javascript
  $string = preg_replace("'<[\/\!]*?[^<>]*?>'si", "", $string);         //去掉HTML标记
  $string = preg_replace("'([\r\n])[\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;
}
<?=DELHTML($navinfo['你的字段'])?>

在使用的地方调用这个函数就可以正常使用,这样处理起来就非常的简单了。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。