各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > phpcms

phpcms去掉编辑器img的style属性

管理员 2022-08-28
phpcms
307
 phpcms v9 采用的编辑器是ckediter,通过这个编辑器上传图片的时候,会默认给图片添加一个style样式,来限制图片的宽和高!这本是好事,防止图片太大撑破页面!
  1. style="height: 479px; width: 800px;" 
同时,这也出现了一个棘手的问题,假设一个图片太大的时候,我们一般往往通过CSS来控制,比如:
  1. content img { max-width:680px; height:auto;} 
根据CSS的就近原则和继承原则,这个时候假设图片太宽,宽度是按照不超过680px走的,但是高达还是原来的800px,这就造成了 图片会变形!

还有另外一点,现在流行自适应式的网站,如果限制了宽高,造成本身的CSS无法控制,当用手机打开时候,图片因为太大造成页面不好看,所以现在必须要去掉自带的style中的宽和高,同时其他的style属性不能去掉!

第一种解决方案:修改js
通过上传图片的js来修改,恕我技术不行,一直不知道怎么改,网上有一个教程,竟然还收费,所以我放弃了使用第一种

第二种:通过正则表达式去掉style的height和width属性
(1)直接在模板处添加正则表达式
  打开phpcmstemplatesdefaultcontentshow.html添加代码:
  1. {php  
  2. $exp=Array("/height: .{0,6}/i""/width: .{0,6}/i"); 
  3. $exp_o=Array('','');  
  4. $content = preg_replace($exp,$exp_o,$content); 
把代码放到{$content}这样就可以去掉宽高的属性了,效果如下:
  1. <img src="http://localhost/sembang/uploadfile/2016/0902/20160902115818358.jpg" style=" " /> 
(注:因为style中可能出现其他样式,不建议去掉style,去掉所有的style的方法是:
$content= preg_replace("/style=\.+?['|"]/i",'‘,$content); )

(2)就是直接在phpcmsmodulescontentindex.php中直接添加正则
这样的话直接输出来的{$content}就已经去掉宽和高了,
搜索:$this->db->table_name = $tablename;,把下边代码放到这一行的上面:
  1. $exp=Array("/height: .{0,6}/i""/width: .{0,6}/i");  
  2. $exp_o=Array('','');   
  3. $content = preg_replace($exp,$exp_o,$content);  
这样就可以前台直接调用{$content}了

OK 大功告成!(如果有错误,请多多指教)

本文出自建站之家:http://www.pweb123.com/cms/zhcms/phpcms/show_671.html

相关推荐

扫码关注

qrcode

QQ交谈

回顶部