星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12640|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

Dedecms 图片加上Alt或Title等属性

前言

本文主要讲解《Dedecms图片加上Al或Tile等属性》的详细内容

EDE_V5.3 实现给内容中的图片添加标题ALt标记,程序版本:V5.3X
修改文件:Include/ arc.archives.class.php
修改方法:


查找以下代码:
Copy code//设置全局环境变量

代码如下:
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['aid'],$this->Fields['title'],'archives');


在以下添加代码:
Copy code//替换图片Alt为文档标题

代码如下:
$this->Fields['body'] = str_ireplace(array('alt=""','alt=\'\''),'',$this->Fields['body']);
$this->Fields['body'] = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$this->Fields['body']);
$this->Fields['body'] = str_ireplace("<img " ,"<img ",$this->Fields['body']);


模板标签:{dede:field.body/} ,如果是其它字段,可以修改$this->Fields['body'] 为其它的字段名。
效率说明:使用了正则处理,会降低一些生成速度,如果数据量小,则可以忽略。
能加个类似autoindex就好了 不然一个页面里有重复会有可能判为XXXX

因为有好多朋友可能正在使用dedecms 5.1的版本,但经测试,需要再修改一次即可解决图片地址在包含 &nbsp;&nbsp; 空格,很是郁闷,如果有好的解决方法,可以分享下啊,回复即可。
下面是 dedecms 5.1 的修改方法:

因为有少许的问题,所以我们这里只给出 再添加跟修改时添加 图片的alt属性

文章添加文件位于:/dede/action/article_add_action.php (如果你修改的默认管理地址 替换 dede即可)
查找:

代码如下:</strong>
$body = addslashes($body);

替换为:

代码如下:
$body = str_ireplace(array('alt=""','alt=\'\''),'',$body);
$body = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$body);
$body = str_ireplace("<img " ,"<img ",$body);
$body = addslashes($body);

其实就是在转义字符前面添加正则替换,参考了上面 5.3的正则

文章修改页面修改原理相同:/dede/action/article_edit_action.php (如果你修改的默认管理地址 替换 dede即可)
查找:

代码如下:
$body = addslashes($body);

如果找到就替换为添加相同的代码。
如果没有找到就查找:

代码如下:
//更新数据库的SQL语句

替换为:

代码如下:
$body = str_ireplace(array('alt=""','alt=\'\''),'',$body);
$body = preg_replace("@ [\s]{0,}alt[\s]{0,}=[\"'\s]{0,}[\s\S]{0,}[\"'\s] @isU"," ",$body);
$body = str_ireplace("<img " ,"<img ",$body);
//更新数据库的SQL语句

因为我们修改了dedecms的大量代码,所以有些地方并不一样,以自己的代码为准,注意修改前备份。
如果有什么不懂的,可以留言。

本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/web/12797.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展