用于在文本中查找图像的php正则表达式

用于在文本中查找图像的php正则表达式,php,regex,preg-match-all,Php,Regex,Preg Match All,我不知道php正则表达式我想从我的html中提取所有图像标记如何使用preg\u match\u all做到这一点 非常感谢社区给你宝贵的时间 我的场景是这样的,没有完整的html dom,只有一个带有img标记的变量$text=“这是一个新文本HJKDHFSDFSDFSD kjdshfsd伪文本”不要使用正则表达式来解析html。相反,请使用类似的变量,因为这个原因: $html = 'Sample text. Image: <img src="foo.jpg" />. <i

我不知道php正则表达式我想从我的html中提取所有图像标记
如何使用preg\u match\u all做到这一点

非常感谢社区给你宝贵的时间


我的场景是这样的,没有完整的html dom,只有一个带有img标记的变量
$text=“这是一个新文本HJKDHFSDFSDFSD kjdshfsd伪文本”
不要使用正则表达式来解析html。相反,请使用类似的变量,因为这个原因:

$html = 'Sample text. Image: <img src="foo.jpg" />. <img src="bar.png" />';
$doc = new DOMDocument();
$doc->loadHTML( $html );

$images = $doc->getElementsByTagName("img");

for ( $i = 0; $i < $images->length; $i++ ) {
  // Outputs: foo.jpg bar.png
  echo $images->item( $i )->attributes->getNamedItem( 'src' )->nodeValue;
}
$html='Sample text.Image:';
$doc=新的DOMDocument();
$doc->loadHTML($html);
$images=$doc->getElementsByTagName(“img”);
对于($i=0;$i<$images->length;$i++){
//输出:foo.jpg bar.png
echo$images->item($i)->attributes->getNamedItem('src')->nodeValue;
}
如果您愿意,还可以获取图像HTML本身:

// <img src="foo.jpg" />
echo $doc->saveHTML ( $images->item(0) );
//
echo$doc->saveHTML($images->item(0));
。使用DOM类会更好。它们使从有效的HTML树中提取图像变得非常简单

$doc = new DOMDocument ();
$doc -> loadHTML ($html);
$images = $doc -> getElementsByTagName ('img'); // This will generate a collection of DOMElement objects that contain the image tags

您只需要所有图像,不管它们的
src
值是什么?不要使用正则表达式来解析HTML;阅读DomDocument-使用PHP HTML解析器而不是正则表达式。HTML和正则表达式不能很好地混合。@JonathanSampson当我的场景如下时,我也需要DomDocument吗above@spiderman我刚刚测试了你的文本,它发现了图像很好。