帝国上传图片将alt自动替换成文章标题title的办法

操作方法如下:

1.把下面的代码放到/e/class/userfun.php (放到最后?>的前面)

<?php
//自动图片alt和title属性替换
function user_imgalt( $mid, $f, $isadd, $isq, $value, $cs ) {
  $title = $_POST[ 'title' ];
  $htmls = $value;
  $pattern = "/<img[^>]+>/";
  preg_match_all( $pattern, $htmls, $matches );
  for ( $i = 0; $i <= count( $matches[ 0 ] ); $i++ ) {
    preg_match_all( "/alt=".+?"/", $matches[ 0 ][ $i ], $altimg );
    preg_match_all( "/title=".+?"/", $matches[ 0 ][ $i ], $titleimg );
    $t_alt = count( $altimg[ 0 ] );
    if ( $t_alt == 0 ) {
      $htmls = str_replace( "<img", "<img alt="{$title}"", $htmls );
      $htmls = str_replace( "<img", "<img title="{$title}"", $htmls );
    }
  }
  return $htmls;
}
?>

2.在模型里正文字段一般是newstext(也可以是其它字段),在字段处理函数文本框填上user_imgalt 如下图:

帝国cms后台发布内容自动把内容图片的alt和title替换为文章标题

这样在帝国cms后台发布信息的时候就可以自动替换图片alt和title属性为信息标题了!

方案二:

function user_AddImgAlt($mid,$f,$isadd,$isq,$value,$cs){
    $value=stripSlashes($value);
    $title=stripSlashes($_POST['title']);
    $title=str_replace('"','',$title);
    $zz2="/<(img|IMG) (.*?)alt="(.*?)"(.*?)>/is";
    $text=preg_replace($zz2,"<\1 \2\4>",$value);
    $zz1="/<(img|IMG) (.*?)>/is";
    $text=preg_replace($zz1,"<\1 alt="{$title}" title="{$title}" \2>",$text);
    return $text;
}

函数:user_AddImgAlt

本文摘自网络,不代表短经典网立场 https://www.duanjingdian.com/808.html

上一篇 2024 年 7 月 25 日 下午3:43
下一篇 2024 年 7 月 25 日 下午3:47

相关推荐

  • 帝国CMS后台编辑器的换行符,如何将br标签换成p标签?

    在帝国cms后台编辑器中,敲回车后会出现br标签,这个在查看“源码”(左上角)的时候能看见,br标签是强制换行符,不如<p>段落标签。虽然这两种的效果是差不多的,都是另…

    帝国CMS 2024 年 7 月 20 日
    136
  • 帝国系统的附表如何分表?

    帝国CMS附表分表是一种常见的数据库优化技术,它可以将一个大型的数据库表分割成多个小型的表,从而提高查询速度和系统性能,在帝国CMS中,附表分表主要通过以下步骤实现: 1、创建附表…

    帝国CMS 2024 年 4 月 26 日
    304
  • 帝国默认提示页是哪个模板?怎样修改?

    帝国CMS默认的信息提示样式不好看,想要修改却不知道在什么地方,下面站长来告诉大家修改文件的目录及文件: 路径及修改文件: /e/message/index.php 提示文字要改语…

    帝国CMS 2024 年 5 月 28 日
    185
  • 帝国newstext字段内容怎样过滤图片样式?

    要以对newstext字段进行改造来实现这个功能,代码如下: <? $newstext=DoWapRepNewstext($r[newstext]); $newstext=p…

    帝国CMS 2024 年 6 月 8 日
    207
  • 帝国系统,如何修改默认附件上传目录?

    修改方法如下,修改前请注意备份下要修改的文件以防改错: 如:将d文件夹改为uploads 找到/e/class 文件夹下面的4个文件 connect.php classfun.ph…

    帝国CMS 2024 年 5 月 23 日
    125
  • 帝国cms如何让栏目id从1开始?

    帝国cms栏目id设置从1开始,可以用以下方法实现: 注意!先备份下数据,如果没有成功的话,还可以恢复回来。 让ID从1开始的方法如下:首先,进入myql,或者“备份与恢复数据”-…

    帝国CMS 2024 年 7 月 25 日
    115
  • 帝国TAG列表页分页数量,怎么修改?

    文件路径:/e/tags/index.php 查找$page_line= 后面的数字就是分页的数量,原来默认的是10,可以改成任意数量。 需要注意不要用记事本改文件,要用编辑器修改…

    帝国CMS 2024 年 5 月 29 日
    151
  • 帝国CMS中时间调用标签date()函数的一些使用方法

    date()函数在帝国cms模板开发时是经常可以用到的一个灵动标签的函数,主要是用来处理时间的格式,把Unix时间戳转换成自己想要的时间格式,他的使用方法很简只要将时间灵动标签变量…

    帝国CMS 2024 年 5 月 11 日
    445
  • 帝国CMS,让标签参数支持模板变量说明

    让标签参数支持模板变量说明:以实现按各种条件调用信息数据。根据程序扩展变量的说明得出我们可以在标签参数中直接使用“字段值数组”变量。 例如:我们要列出所有信息来源相同的10条信息,…

    帝国CMS 2024 年 5 月 10 日
    289
  • 帝国CMS的数据表能删吗?

    帝国cms采用了php+mysql的技术架构,数据存储在mysql数据库中,在帝国cms的安装过程中,系统会自动创建一些必要的数据表,如文章表、栏目表、模板表等,这些数据表是帝国c…

    帝国CMS 2024 年 5 月 1 日
    290