同时,这也出现了一个棘手的问题,假设一个图片太大的时候,我们一般往往通过CSS来控制,比如:
- style="height: 479px; width: 800px;"
根据CSS的就近原则和继承原则,这个时候假设图片太宽,宽度是按照不超过680px走的,但是高达还是原来的800px,这就造成了 图片会变形!
- content img { max-width:680px; height:auto;}
还有另外一点,现在流行自适应式的网站,如果限制了宽高,造成本身的CSS无法控制,当用手机打开时候,图片因为太大造成页面不好看,所以现在必须要去掉自带的style中的宽和高,同时其他的style属性不能去掉!
第一种解决方案:修改js
通过上传图片的js来修改,恕我技术不行,一直不知道怎么改,网上有一个教程,竟然还收费,所以我放弃了使用第一种
第二种:通过正则表达式去掉style的height和width属性
(1)直接在模板处添加正则表达式
打开phpcmstemplatesdefaultcontentshow.html添加代码:
把代码放到{$content}这样就可以去掉宽高的属性了,效果如下:
- {php
- $exp=Array("/height: .{0,6}/i", "/width: .{0,6}/i");
- $exp_o=Array('','');
- $content = preg_replace($exp,$exp_o,$content);
- }
(注:因为style中可能出现其他样式,不建议去掉style,去掉所有的style的方法是:
- <img src="http://localhost/sembang/uploadfile/2016/0902/20160902115818358.jpg" style=" " />
$content= preg_replace("/style=\.+?['|"]/i",'‘,$content); )
(2)就是直接在phpcmsmodulescontentindex.php中直接添加正则
这样的话直接输出来的{$content}就已经去掉宽和高了,
搜索:$this->db->table_name = $tablename;,把下边代码放到这一行的上面:
这样就可以前台直接调用{$content}了
- $exp=Array("/height: .{0,6}/i", "/width: .{0,6}/i");
- $exp_o=Array('','');
- $content = preg_replace($exp,$exp_o,$content);
OK 大功告成!(如果有错误,请多多指教)
本文出自建站之家:http://www.pweb123.com/cms/zhcms/phpcms/show_671.html