如何从包含标记的字符串中提取URL?

时间:2013-01-12 14:45:31

标签: php regex

$string = '[url=http://domain.com]My Webpage[/url][img]http://domain.com/image1.jpg[/img][center][img]http://domain.com/image2.gif[/img][/center][center][thumb]http://domain.com/image3.png[/thumb][/center]';
preg_match_all('/.*?\[img|thumb\](http.+?)\[\/.*+/', $string, $matches);
var_dump($matches);

尝试获取图像数组(image1.jpg,image2.gif,image3.png)。图片可能介于[img][\img][thumb][\thumb]之间。我还需要检查一个完整的行[center][thumb]http://domain.com/image3.png[/thumb][/center]来改变它与其他图像。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

以下模式将其全部提取出来。

@\[(img|thumb)\](.+?)\[/\\1@

Ideone