帝国 php 过滤字符,自定义函数解决帝国cms简介截取字符出现html代码的问题

帝国CMS发布信息时,会默认从详情内容中截取前面一段内容作为简介,但有时会截取出html代码,非常不爽,通过本教程可以解决。

首先在 e/class/connect.php 文件中加入一个自定义函数 比如 NoHTML() 这个自己喜欢随便设置//去除HTML标记

function NoHTML($string){

$string = preg_replace("''si", "", $string);//去掉javascript

$string = preg_replace("']*?>'si", "", $string); //去掉HTML标记

$string = preg_replace("'([\r\n])[\s]+'", "", $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);

//以下为屏蔽电话号码正则

$string= preg_replace('/(0[0-9]{2,3}[-]?[2-9])[0-9]{3,4}([0-9]{3}[-]?[0-9]?)/i','$1****$2',$string);//隐藏电话号码中间四位

$string = preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$string);//隐藏手机号码中间四位

//屏蔽电话号码正则结束

return $string;

}

然后去列表内容模板修改代码即可$r[smalltext]=esub(NoHTML($r[smalltext]),200,'......');

$listtemp='

[!--title--]

[!--smalltext--]

';

这样问题就解决了,很简单吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值