首页 > 解决方案 > 正则表达式删除损坏的图像 url

问题描述

我正在尝试使用此正则表达式删除 [IMG][/IMG] 中的数千张损坏的图像

\[IMG]http:\/\/img.+.imageshack.us\/.+\[\/IMG]

这适用于具有单个图像链接但具有多个 IMG 的页面,它还可以选择介于两者之间的任何代码/文本

[IMG]http://img20.imageshack.us/img20/4006/andp25hb.jpg[/IMG]this is Some Text [IMG]http://img95.imageshack.us/img95/524/copyofgoldent12pm.png[/IMG]    

如何匹配前的图像。imageshack 并忽略其他所有内容。

更新:它在某种程度上适用于非贪婪但如果指定图像扩展名仍然存在问题。

正则表达式101

标签: phpregex

解决方案


该脚本正在添加带有分隔符的“siU”修饰符。删除不需要的标志会返回所需的结果。

我使用了尼克提供的正则表达式

#\[IMG]http:\/\/img[^.]+\.imageshack\.us\/.+?\.(?:gif|jpg|png)\[\/IMG]#

推荐阅读