PHP preg_replace:从img标签中删除style =".."

zek*_*kia 1 php regex coding-style image preg-replace

我正在尝试为preg_replace找到一个表达式,它删除图像的所有内联css样式.例如,我有这样的文字:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. <img style="float:left; margin:0 0 10px 10px;" src="image.jpg" /> Proin vestibulum libero id nisl dignissim eu sodales.
Run Code Online (Sandbox Code Playgroud)

我需要让它看起来像:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. <img src="image.jpg" /> Proin vestibulum libero id nisl dignissim eu sodales.
Run Code Online (Sandbox Code Playgroud)

我已经尝试过几十种表达方式

preg_replace("%<img(.*?)style(.*?)=(.*?)(\'|\")(.+?)(\'|\")(.*?)>%i", "<img\$1\$7>", $article->text)
Run Code Online (Sandbox Code Playgroud)

但没有任何效果.有什么建议?

Sen*_*kin 7

preg_replace('/(\<img[^>]+)(style\=\"[^\"]+\")([^>]+)(>)/', '${1}${3}${4}', $article->text)
Run Code Online (Sandbox Code Playgroud)

这可能有所帮助