使用DOM或其他解析器,不要尝试使用正则表达式解析HTML。
示例:
$html = <<
DATA;
$doc = new DOMDocument();
$doc->loadHTML($html); // load the html
$xpath = new DOMXPath($doc);
$imgs = $xpath->query('//img');
foreach ($imgs as $img) {
echo $img->getAttribute('src') . "\n";
}
输出
//i.imgur.com/tApg8ebb.jpg
//i.imgur.com/SwmwL4Gb.jpg
//s.imgur.com/images/blog_rss.png
如果您希望将结果存储在数组中,则可以执行..
foreach ($imgs as $img) {
$sources[] = $img->getAttribute('src');
}
print_r($sources);
输出
Array
(
[0] => //i.imgur.com/tApg8ebb.jpg
[1] => //i.imgur.com/SwmwL4Gb.jpg
[2] => //s.imgur.com/images/blog_rss.png
)