正则表达式找到所有img标签不在for和删除

时间:2017-04-23 11:51:59

标签: php html regex image

我想删除字符串中的所有img标签,如果不喜欢我的表单但我不能

示例(我想留在我的字符串中):

<img src="http://localhost/uploads/user1/test3.jpg" title="test" class="img-responsive img-maxheight">
<img src="http://localhost/uploads/user2/test1.jpg" alt="test" class="img-responsive img-maxheight">
<img src="http://localhost/uploads/user3/test2.jpg" class="img-responsive img-maxheight">

我在PHP中的正则表达式代码是:

$pattern ="/<img src=\"http:\/\/localhost\/(uploads|thumbs)\/$user\/(.*?)\" (alt|title|)=\"(.*?)\" class=\"img-responsive img-maxheight\">/i";

$replacement = ' ';
$content = preg_replace($pattern, $replacement, $content);

1 个答案:

答案 0 :(得分:0)

可能模式的最短版本为/<img[^>]*>/ 这可能在大多数时间都有效。更好的是:/<\simg[^>]*>/。它也适用于< img ......> 您可以插入很多角点来改善模式,但更好的解决方案是not to use a regex in the first place 相反,您应该通过专用解析器解析html:How do you parse and process HTML/XML in PHP?