我目前在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,那么我如何重写正则表达式才能说出图片呢?
答案 0 :(得分:1)
我会使用non capturing groups在其他语句之前搜索img
标记,例如
(?:img.*)(width|height ?= ?['"].*['"])
您可以在此处看到:http://regex101.com/r/mI1bD5。
请注意,这在很多简单的情况下都失败了(iframe
与img
标签位于同一行上,但它应该会推动你朝着正确的方向发展。
答案 1 :(得分:0)
感谢Trevor提供了有用的建议。
这是我修改过的表达式,它做得更好一些,但仍然不太完美。
(?:<img.*){1}((width|height)=['"]\d*['"]) (?:.*\/>|>){1}