0

我目前在我的 wordpress 函数文件中使用的代码是这样的:

function remove_width_attribute( $html ) {
   $html = preg_replace( '/(width|height)=("|\')\d*(|px)("|\')\s/', "", $html );
   return $html;
}
add_filter( 'the_content', 'remove_width_attribute', 10 );

这里的问题是它也针对 iframe,所以我将如何重写正则表达式来只说图像?

4

2 回答 2

1

我只会使用非捕获组img在其他语句之前搜索标签,例如

(?:img.*)(width|height ?= ?['"].*['"])

你可以在这里看到工作:http ://regex101.com/r/mI1bD5 。

请注意,这在许多简单的情况下都会失败(例如,iframe与标签在同一行img),但它应该将您推向正确的方向。

于 2013-03-29T17:59:19.300 回答
0

感谢特雷弗的有用建议。这是我修改后的表达式,它做得更好,但还不够。 (?:<img.*){1}((width|height)=['"]\d*['"]) (?:.*\/>|>){1}

于 2014-02-18T18:45:04.500 回答