正则表达式替换html内容中的图像宽度和高度

时间:2011-11-09 15:35:09

标签: php image preg-replace preg-match

你能告诉我正则表达式来获取图像的宽度和高度,并用自定义的宽度和高度替换它吗?

例如,它应该能够改变这个:

<img src="test.jpg" style="width:1024px; height:600px;" title="test" alt="test">

对此:

<img src="test.jpg" style="width:600px; height:400px;" title="test" alt="test">

2 个答案:

答案 0 :(得分:1)

使用PHP DOM模型获取HTML属性比使用正则表达式更容易,更安全。

答案 1 :(得分:1)

你应该使用PHP DOM。但是,如果您需要正则表达式...仅当<img> style属性与您报告的内容完全相同时才有效。不同的输入会导致意外的结果!!!

$width = '320px';
$height = '240px';
$pattern = '/(<img [^>]*style="[^"]*)width:([0-9 ]+px)([^"]*)height:([0-9 ]+px)([^"]*)"/i';
$replace = '$1width:' . $width . '$3height:' . $height . '$5';
$outhtml = preg_replace($pattern, $replace, $yourhtml);