如何在php中将img样式宽度更改为属性宽度

时间:2014-11-24 04:14:20

标签: php

我该怎样离开

<img style="width:200px; height:300px; ...

到这个

<img width="200" height="300" ...

用PHP?

3 个答案:

答案 0 :(得分:1)

一种简单的方法就是不要触及HTML ...

找到一种方法来定位css中的图像并调整显示

div.myimages img {
    max-with:320px;
    height: auto!important;
}

答案 1 :(得分:0)

它会使用一些RegEx:

//use SimpleXMLElement to parse the attributes
$img = new SimpleXMLElement($imgStr);
$pattern = '~([a-z-]+)\s*:\s*([^;$]+)~si';

//convert the value of the style attribute into an associative array
if (preg_match_all($pattern, $img['style'], $match)) {
    $style[] = array_combine(
        array_map('strtolower', $match[1]),
        array_map(function($val) { return trim($val, '"\' '); }, $match[2])
    );  
}

// add the width and height attributes and get the new html
$img->addAttribute('width', $style[0]['width']);
$img->addAttribute('height', $style[0]['height']);
$newImgStr = $img->asXML();

// remove the width and height rules from the style attribute
$newImgStr = preg_replace('/width:([^;$]+);/', '', $newImgStr);
$newImgStr = preg_replace('/height:([^;$]+);/', '', $newImgStr);

答案 2 :(得分:0)

如果样式已经加载了img,则可以使用JQUERY进行解决方案:

$(function () {

                  width=$(this).css("width");
                  height=$(this).css("height");
                  $(this).attr("width",width);
                  $(this).attr("height",height);
 });

希望它能满足您的需求。