自定义函数解决帝国cms简介截取字符出现html代码的问题
发布时间:2021-05-27作者:帝国建站网
帝国CMS发布信息时,会默认从详情内容中截取前面一段内容作为简介,但有时会截取出html代码,非常不爽,通过本教程可以解决。
首先在 e/class/connect.php 文件中加入一个自定义函数 比如 NoHTML() 这个自己喜欢随便设置
//去除HTML标记
function NoHTML($string){
$string = preg_replace("'<script[^>]*?>.*?</script>'si", "", $string);//去掉javascript
$string = preg_replace("'<[/!]*?[^<>]*?>'si", "", $string); //去掉HTML标记
$string = preg_replace("'([rn])[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='<li><strong><a href="[!--titleurl--]">[!--title--]</a></strong><p>[!--smalltext--]</p></li>';
这样问题就解决了,很简单吧。
相关帝国教程
- 11-11帝国cms二次开发留言板自定义字段教程
- 04-11帝国cms动态页面tag与搜索等列表页面分页样式如何修改?
- 01-06帝国CMS怎么删除“此栏目暂无任何新增信息”提示文字?
- 09-15帝国CMS下载不采用弹出窗口式说明
- 05-18帝国CMS多终端手机版内容图片压缩
- 04-28帝国cms灵动标签同时调用头条和推荐
- 06-11帝国CMS灵动标签调用字母所属信息
- 04-15帝国CMS模板前端判断PC/手机访问端跳转手机端代码
- 08-30帝国CMS添加一个只有后台登录了才能访问的页面
- 08-08帝国cms更改系统默认的时区
- 01-23帝国CMS RSS调用方法说明
- 11-18帝国CMS后台恢复数据库出现错误
- 10-12帝国CMS7.5内核版本tags伪静态设置方法静态规则方法是什么?
- 08-31帝国CMS后台系统设置里面的扩展变量怎么使用呢?
- 07-31帝国CMS调用当前专题信息
- 11-22帝国CMS程序在IIS环境下设置伪静态的教程!(Windows系统)
- 07-29帝国CMS错误报告功能启用、防垃圾灌水、统计、增加报告分类
- 04-10帝国CMS会员中心模板改造之用户自己查看评论过的文章
- 04-27帝国CMS模板判断输出是副标题还是原标题的2种方法
- 06-18帝国CMS标签调用的附加SQL条件和排序参数