我们在后台上传文件时会碰到上传的图片会自动加上高度与宽度了,那么有时我们并不需要这个东西要怎么取消呢?下面我们一起来看看我总结的两种方法.
要求,如,在桌面设备上,图片使用的是以下的HTML代码:
<img src="abc.png" alt="abc" width="580" height="267" />
在移动设备端,因为屏幕都比较小,如果要让图片自适应屏幕,我们应当把width和height属性去除,不然图片可能会比屏幕大,代码如下:
<img src="abc.png" alt="abc" />
方法一:将下面代码复制到当前主题的 functions.php 文件中:
- add_filter( 'post_thumbnail_html', 'remove_width_attribute', 10 );
- add_filter( 'image_send_to_editor', 'remove_width_attribute', 10 );
- function remove_width_attribute( $html ) {
- $html = preg_replace( '/(width|height)="/d*"/s/', "", $html );
- return $html;
- }
方法二:代码如下:
- // 自适应图片删除width和height,by Ludou
- function ludou_remove_width_height_attribute($content){
- preg_match_all("/<[img|IMG].*?src=[/'|/"](.*?(?:[/.gif|/.jpg|/.png/.bmp]))[/'|/"].*?[//]?>/", $content, $images);
- if(!emptyempty($images)) {
- foreach($images[0] as $index => $value){
- $new_img = preg_replace('/(width|height)="/d*"/s/', "", $images[0][$index]);
- $content = str_replace($images[0][$index], $new_img, $content);
- }
- }
- return $content;
- }
- // 判断是否是移动设备浏览
- if(wp_is_mobile()) {
- // 删除文章内容中img的width和height属性
- add_filter('the_content', 'ludou_remove_width_height_attribute', 99);
- }
这样我再试一下是不是达到想要的结果了.
新闻热点
疑难解答
图片精选