用自定义函数解决帝国cms的简介截取字符时出现html的问题

news/2024/12/22 9:11:44/文章来源:https://www.cnblogs.com/hwrex/p/18448028

帝国CMS 在截取文章简介时出现 HTML 标签的问题可以通过自定义函数来解决。具体步骤如下:

步骤 1: 自定义函数 NoHTML()

  1. 打开 connect.php 文件

    • 找到 e/class/connect.php 文件并打开。
  2. 添加自定义函数 NoHTML()

    • 在文件中添加以下函数:
      // 去除 HTML 标记
      function NoHTML($string) {$string = preg_replace("/<script[^>]*?>.*?</script>/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);return $string;
      }

步骤 2: 修改列表内容模板

  1. 打开列表内容模板文件

    • 找到需要修改的列表内容模板文件,例如 e/template/default/list_content.html
  2. 修改模板代码

    • 在模板文件中,使用自定义函数 NoHTML() 截取简介并去除 HTML 标签。
    • 修改模板代码如下:
      $r['smalltext'] = esub(NoHTML($r['smalltext']), 200, '......');
      $listtemp = '<li><strong><a href="[!--titleurl--]">[!--title--]</a></strong><p>[!--smalltext--]</p></li>';

解释

  1. 自定义函数 NoHTML()

    • 该函数通过正则表达式去除 HTML 标签、JavaScript 代码以及 HTML 实体。
  2. 修改模板代码

    • 使用 NoHTML() 函数去除 smalltext 字段中的 HTML 标签。
    • esub() 函数用于截取字符串并添加省略号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/808550.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帝国cms发布内容保存不了emoji表情的解决方法

在帝国CMS中发布内容时,如果包含 emoji 表情,可能会导致保存失败或部分内容丢失。为了解决这一问题,需要从以下几个方面入手:配置数据库支持 emoji 表情 修改帝国CMS 的数据库配置文件 对字符串进行 base64 编码和解码步骤 1: 配置数据库支持 emoji 表情修改数据库表的字符…

在Windows平台使用源码编译和安装PyTorch3D指定版本

最近在部署 SyncTalk 虚拟数字人项目时,需要安装很多依赖项,在执行到pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/py38_cu113_pyt1121/download.html这一句命令时,安装 PyTorch3D 失败,输出如下信息:…

忘记帝国CMS后台的管理员账号、密码、认证码或安全答案时怎么办

忘记账号在 phome_enewsuser 表中查看 username 字段的内容。忘记密码在 phome_enewsuser 表中修改 password 字段为 "322d3fef02fc39251436cb4522d29a71"。 修改 salt 字段为 "abc"。忘记认证码在 e/class/config.php 文件中将 $do_loginauth 设置为 0。忘…

重建帝国cms数据索引表,用于ecms_news_index表损坏丢失或者错误

当帝国CMS的 ecms_news_index 表损坏或丢失时,可以通过以下步骤重建数据索引表。这些操作需要在数据库中执行,请确保在执行前备份所有相关数据。 重建 ecms_news_index 表 步骤 1: 创建临时表 ecms_newstempsqlCREATE TABLE [!db.pre!]ecms_newstemp AS (SELECT id, classid,…

PHP报错getimagesize(): SSL operation failed with code 1问题解决方案

这个 PHP 错误通常发生在尝试通过 HTTPS 协议获取图像时,由于缺少或过期的 CA 证书导致 SSL 连接验证失败。以下是详细的解决方案: 解决方案一:更新 CA 证书下载最新的 CA 证书访问 curl 官方提供的 CA 证书 页面下载 cacert.pem 文件。上传证书文件将下载的 cacert.pem 文件…

串口使用DMA数据接收和发送

串口DMA部分在这里我一共分3个部分进行介绍,第一部分介绍什么是DMA第二部分是介绍串口DMA+空闲中断实现不定长数据的收发。第三部分是串口DMA中断实现数据收发。 第一部分DMA介绍 一、基本概念DMA是直接寄存器,这是指一种高速的数据传输操作,允许在外部设备和存储器和寄存器…

帝国CMS忘记后台管理员帐号解决办法

忘记后台管理员账号查看账号使用 phpMyAdmin 登录数据库。 寻找 phome_enewsuser 表。 查看 username 字段的内容,这将是你的管理员账号。忘记后台登录密码修改密码使用 phpMyAdmin 登录数据库。 寻找 phome_enewsuser 表。 修改 password 字段的内容为 "322d3fef02fc392…

宝塔面板“抱歉,站点已暂停”提示页面的修改

在宝塔面板中,如果站点被暂停,通常会显示一个默认的提示页面:“抱歉,站点已暂停”。如果你希望自定义这个提示页面,可以通过以下步骤进行修改: 1. 备份站点文件 在进行任何修改之前,建议先备份站点文件,以防万一修改出错。bashtar czf backup.tar.gz /www/wwwroot/your…

帝国cms把文章内容都存放到根目录方法

扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。专业解决各种疑难杂症,您有任何网站问题都…

帝国CMS安装时出现You have an error in your SQL syntax错误代码的解决方法

在安装 EmpireCMS 时遇到 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near TYPE=MYISAM 的错误,通常是由于数据库版本不兼容导致的。以下是详细的解决方法: 1. 选择正确的 MySQL…

帝国cms模板里显示发布信息人的ip地址

要在 EmpireCMS 模板中显示发布信息人的 IP 地址,可以按照以下步骤进行操作: 1. 管理数据表登录 EmpireCMS 后台。 进入数据表管理:依次点击:管理数据表 -> 管理字段。添加一个 IP 字段:点击 添加字段。 输入字段名称 infoip。 字段类型选择 VARCHAR。 长度设置为 15。…

帝国cms打开升级页面e/update/index.php是空白

遇到 EmpireCMS 升级页面 e/update/index.php 显示空白的问题,通常是由于某些配置或权限问题导致的。以下是详细的解决步骤:检查“关闭所有动态页面”设置登录 EmpireCMS 后台。 进入“系统设置” -> “基本设置”。 确认“关闭所有动态页面”选项是否被开启。 如果开启,…