preg_replace_all的正则表达式模式,用于查找没有图像扩展名的网址

时间:2015-12-17 08:38:52

标签: php regex

我需要模式在xml文件中查找不具有png或jpg扩展名的URL(在图片标记之间)

示例:

$xml ="<Picture>http://page.com</Picture>
<Picture>http://page.pafghj</Picture>
<Picture>http://page.www.com/asdads.pdf</Picture>
<Title>asaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</Title>";


$pattern = '#<Picture>(?![^" ]*(?:jpg|png))[^" ]+#';
$matches = [];
preg_match_all($pattern, $xml, $matches);

echo '<pre>';print_r($matches);echo '</pre>';

1 个答案:

答案 0 :(得分:-1)

$pattern = '#<Picture>(((?!(jpg|png)).)*)</Picture>#mU';

((?!(jpg | png))。)*是一个负面的环顾四周会删除jpg或png的任何一行。 mU标志将设置多行搜索。