我正在尝试从下面的行中获取数字序列。
<div data-cid="8558641" class="clsfd_list_row_group">
我这样做有点运气
preg_match_all('!<div data-cid="\/(.*?)\/" class="clsfd_list_row_group">!is', $str, $urls);
我做错了什么?
答案 0 :(得分:0)
尝试:
<div data-cid="(.*?)" class="clsfd_list_row_group">
"\/(.*?)\/"
正在寻找更像"(content)"
的内容,但在您的示例输入中,tere不是大括号。
答案 1 :(得分:0)
您可以使用xpath
查询轻松完成此操作:
<?php
$data = <<<DATA
<div>
<div data-cid="8558641" class="clsfd_list_row_group">
<div data-cid="12345" class="clsfd_list_row_group">
<div data-cid="123" class="clsfd_list_row_group">
</div>
DATA;
$dom = new DOMDocument();
$dom->loadHTML($data);
$xpath = new DOMXPath($dom);
$cids = $xpath->query("//div[@class='clsfd_list_row_group']/@data-cid");
foreach ($cids as $cid) {
echo $cid->nodeValue . "\n";
}
?>
这会输出8558641
,12345
和123
,请参阅a demo on ideone.com。