首页 > 其他分享 >帝国CMS增加信息自动把内容图片的alt和title属性替换为信息标题

帝国CMS增加信息自动把内容图片的alt和title属性替换为信息标题

时间:2024-10-05 17:14:21浏览次数:6  
标签:title matches htmls user alt CMS 属性

要在帝国CMS中自动为图片添加 alt 和 title 属性,可以按照以下步骤操作:

步骤 1: 添加自定义函数 user_imgalt()

  1. 打开 userfun.php 文件

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

    • 在文件末尾(?> 之前)添加以下函数:
      function user_imgalt($mid, $f, $isadd, $isq, $value, $cs) {
          $title = $_POST['title'];
          $htmls = $value;
      
          // 匹配所有 `<img>` 标签
          $pattern = '/<img[^>]+>/';
          preg_match_all($pattern, $htmls, $matches);
      
          for ($i = 0; $i < count($matches[0]); $i++) {
              // 匹配 `alt` 属性
              preg_match_all('/alt=[\'"](.+?)[\'"]/i', $matches[0][$i], $altimg);
              // 匹配 `title` 属性
              preg_match_all('/title=[\'"](.+?)[\'"]/i', $matches[0][$i], $titleimg);
      
              // 判断是否已经有 `alt` 属性
              $t_alt = count($altimg[0]);
              if ($t_alt == 0) {
                  // 添加 `alt` 属性
                  $htmls = str_replace($matches[0][$i], $matches[0][$i] . ' alt="' . $title . '"', $htmls);
              }
      
              // 判断是否已经有 `title` 属性
              $t_title = count($titleimg[0]);
              if ($t_title == 0) {
                  // 添加 `title` 属性
                  $htmls = str_replace($matches[0][$i], $matches[0][$i] . ' title="' . $title . '"', $htmls);
              }
          }
      
          return $htmls;
      }

步骤 2: 配置模型字段处理函数

  1. 打开模型管理页面

    • 登录帝国CMS后台,进入模型管理页面。
  2. 选择需要处理的模型

    • 选择需要处理的模型,例如新闻模型。
  3. 编辑正文字段

    • 在模型字段中找到正文字段(通常是 newstext)。
    • 在字段处理函数文本框中填写 user_imgalt

    示例:

    • 字段名称:newstext
    • 字段处理函数:user_imgalt

步骤 3: 发布信息

  1. 发布信息
    • 在发布信息时,输入标题和内容。
    • 提交后,系统会自动为图片添加 alt 和 title 属性。

标签:title,matches,htmls,user,alt,CMS,属性
From: https://www.cnblogs.com/hwrex/p/18448084

相关文章

  • 帝国CMS管理员密码忘记的解决方法
    如果你忘记了帝国CMS的后台登录账号和密码,可以通过以下几种方法来解决这个问题:方法1:重置管理员密码(通过数据库)登录数据库使用phpMyAdmin或MySQL命令行工具登录到数据库。查找管理员用户表查找管理员用户的表,通常为 ecms_admin 或 ecms_user。更新密码......
  • 帝国cms忘记登陆账号密码怎么办
    如果你忘记了帝国CMS的后台登录账号和密码,可以通过以下几种方法来解决这个问题:方法1:重置管理员密码(通过数据库)登录数据库使用phpMyAdmin或MySQL命令行工具登录到数据库。查找管理员用户表查找管理员用户的表,通常为 ecms_admin 或 ecms_user。更新密码......
  • 帝国如何解决帝国CMS管理员忘记密码的问题
    创建临时脚本创建一个临时PHP脚本来重置密码。例如,在 e 目录下创建一个 reset_password.php 文件:php <?phprequire_once('./class/connect.php');require_once('./class/config.php');require_once('./class/function.php');$admin_id=1;//管理员ID$......
  • 帝国cms登录后台提示“登录成功”,接着又提示“您还未登录”
    当帝国CMS登录后台提示“登录成功”,但接着又提示“您还未登录”的问题,通常是由于权限设置不当导致的。具体解决步骤如下:备份相关目录:在进行任何权限修改之前,请先备份/e/data/adminlogin目录及其内容,以防万一。更改目录权限:使用FTP客户端(如FileZilla、WinSCP等)或通过服务器......
  • 修改帝国CMS模板出现Application Firewall Alert错误
    当在修改帝国CMS模板时出现“ApplicationFirewallAlert”错误,通常是因为服务器上的安全软件(如360主机安全卫士、McAfee、服务器安全狗等)误将您的IP地址识别为攻击者并加入了黑名单。以下是一些解决步骤:检查服务器安全软件:登录服务器控制面板或远程桌面。检查是否安装了360......
  • 成功恢复帝国CMS后台的登录信息
    当你忘记帝国CMS后台的管理员账号、密码、认证码或安全答案时,可以按照以下步骤进行恢复:忘记后台管理员账号查看账号使用phpMyAdmin登录数据库。寻找 phome_enewsuser 表。查看 username 字段的内容,这将是你的管理员账号。忘记后台登录密码修改密码使用phpMy......
  • 忘记帝国CMS后台的管理员账号、密码、认证码或安全答案时怎么办
    忘记账号在 phome_enewsuser 表中查看 username 字段的内容。忘记密码在 phome_enewsuser 表中修改 password 字段为 "322d3fef02fc39251436cb4522d29a71"。修改 salt 字段为 "abc"。忘记认证码在 e/class/config.php 文件中将 $do_loginauth 设......
  • 重建帝国cms数据索引表,用于ecms_news_index表损坏丢失或者错误
    当帝国CMS的 ecms_news_index 表损坏或丢失时,可以通过以下步骤重建数据索引表。这些操作需要在数据库中执行,请确保在执行前备份所有相关数据。重建 ecms_news_index 表步骤1:创建临时表 ecms_newstempsql CREATETABLE[!db.pre!]ecms_newstempAS(SELECTid,c......
  • 帝国cms后台出现Fail to connect ftp host!
    遇到“Failtoconnectftphost!”的问题,通常是因为FTP设置不正确或网络连接问题。以下是一些常见的解决方法:检查FTP设置登录帝国CMS后台。进入“系统设置”->“FTP设置”。确认以下设置是否正确:FTP主机地址FTP端口(通常是 21)FTP用户名和密码FTP目录路......
  • 帝国CMS刷新数据表article提示Table ‘empirecms.phome_ecms_’ doesn’t exist的解决
    遇到EmpireCMS刷新数据表时提示 Table‘empirecms.phome_ecms_’doesn’texist 的问题,通常是因为数据表结构不一致或数据表缺失导致的。以下是详细的解决步骤:1.分析问题原因问题描述中的SQL语句提示:sql Table‘empirecms.phome_ecms_’doesn’texist这表......