在 PHP 中的 file_get_contents 中查找此特定字符串的正则表达式模式
regex pattern to find this particular string in file_get_contents in PHP
我希望通过使用 PHP 中的 file_get_contents() 函数从 url 的标签中获取此值 'B00DS4KJR4'。但是,我无法编写正确的正则表达式来从页面 html 源代码中找到值:
<span class="a-text-bold">ASIN:
</span>
<span>B00DS4KJR4</span>
你能帮我写出正确的正则表达式来找到页面上的特定值吗?
preg_match_all('/<span>(.*)<\/span>/',$the_html,$the_result_array);
第一个span
与正则表达式不匹配,因为它里面有class,其他写成<span>anything</span>
的会被找到。
您可以使用 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;
}
我希望通过使用 PHP 中的 file_get_contents() 函数从 url 的标签中获取此值 'B00DS4KJR4'。但是,我无法编写正确的正则表达式来从页面 html 源代码中找到值:
<span class="a-text-bold">ASIN:
</span>
<span>B00DS4KJR4</span>
你能帮我写出正确的正则表达式来找到页面上的特定值吗?
preg_match_all('/<span>(.*)<\/span>/',$the_html,$the_result_array);
第一个span
与正则表达式不匹配,因为它里面有class,其他写成<span>anything</span>
的会被找到。
您可以使用 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;
}