我希望通过在PHP中使用file_get_contents()函数将这个值'B00DS4KJR4'包含在来自url的标记中。但是,我没有编写正确的正则表达式来从这个html源代码页面中找到值:
<span class="a-text-bold">ASIN:
</span>
<span>B00DS4KJR4</span>
你能帮我写一下正确的正则表达式来找到页面上的特定值吗?
答案 0 :(得分:1)
您可以使用Regex101上提供的正则表达式,如下所示。这会查找包含任何属性的<span>
,其中包含innerHTML中的字符串ASIN:
,后跟另一个<span>
,并捕获第二个<span>
的内容。
$html ='<span class="a-text-bold">ASIN:
</span>
<span>B00DS4KJR4</span>';
if (preg_match('/<span\s[^><]*>\s*ASIN:\s*<\/span>\s*<span>\s*([^><]*)\s*<\/span>/i', $html, $m)) {
$asin = $m[1];
print $asin;
}
答案 1 :(得分:0)
preg_match_all('/<span>(.*)<\/span>/',$the_html,$the_result_array);
第一个span
与正则表达式不匹配,因为它中包含类,其他类似<span>anything</span>
的内容将被找到。