使用正则表达式从HTML获取图像src

MJQ*_*MJQ 2 php regex

我喜欢HTML

<td class="td_scheda_modello_dati">

       <img src="/webapp/safilo/gen_img/p_verde.gif" width="15" height="15" alt="" border="0">

</td>
Run Code Online (Sandbox Code Playgroud)

我想使用preg_match_all()从这个HTML中提取img src.

我做到了这一点

preg_match_all('#<td class=td_scheda_modello_dati>(.*)<td>#',$detail,$detailsav);
Run Code Online (Sandbox Code Playgroud)

它应该给整个img标签.但是它没有给我img标签.那么应该做些什么改变来获得具体的价值呢?

Ali*_*ani 5

长话短说: 意思

您不应该使用Regex,而应使用HTML解析器.这是如何做.

<?php
$html = '<img src="/webapp/safilo/gen_img/p_verde.gif" width="15" height="15" alt="" border="0">';
$xpath = new DOMXPath(@DOMDocument::loadHTML($html));
$src = $xpath->evaluate("string(//img/@src)");
echo $src;
?>
Run Code Online (Sandbox Code Playgroud)

  • 虽然HTML解析器是理想的解决方案,但我感觉他正在寻找更短期的解决方案.此外,解析器可能无效地"纠正"输出时所需的"怪癖". (2认同)