只需从PHP中的字符串获取图像URL


Just get the image URL from string in PHP

从一个字符串,如这个<img src="/images/mylondon.jpg" />,我试图检索只是在PHP的其他地方使用的url

我知道正则表达式是正确的方法,但是我现在还不能理解它们。

有人能帮忙吗?

preg_match_all('~<img.*?src=["'']+(.*?)["'']+~', $html, $urls);
$urls = $urls[1]

我认为如果使用DOMDocument对象会更好:

$text = '<html><body><p>ala bala</p><img src="/images/mylondon.jpg" /></body></html>';
$htmlDom = new DOMDocument;
$htmlDom->loadHTML($text);
$imageTags = $htmlDom->getElementsByTagName('img');
$extractedImages = array();
foreach($imageTags as $imageTag){
   $extractedImages[] = $imageTag->getAttribute('src');
}
echo '<pre>'; var_dump($extractedImages); exit;