preg_replace_all的Regex模式,用于查找没有图像扩展名的URL


Regex pattern for preg_replace_all to find urls without image extension

我需要模式来查找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>';
$pattern = '#<Picture>(((?!(jpg|png)).)*)</Picture>#mU';

((?!(jpg|png)).)*是否定的环视将删除任何带有jpg或png的行。mU标志将设置多行搜索。