私は下の行から数値シーケンスを取得しようとしています。文字列の数値シーケンスを取得するための小さな修正
<div data-cid="8558641" class="clsfd_list_row_group">
私はこれは私が間違っているのは何運
preg_match_all('!<div data-cid="\/(.*?)\/" class="clsfd_list_row_group">!is', $str, $urls);
withousやっていますか?
私は下の行から数値シーケンスを取得しようとしています。文字列の数値シーケンスを取得するための小さな修正
<div data-cid="8558641" class="clsfd_list_row_group">
私はこれは私が間違っているのは何運
preg_match_all('!<div data-cid="\/(.*?)\/" class="clsfd_list_row_group">!is', $str, $urls);
withousやっていますか?
で試してみてください。
<div data-cid="(.*?)" class="clsfd_list_row_group">
"\/(.*?)\/"
はより"(content)"
のようなものを探しているが、テレはあなたの例の入力では、中括弧ではありません。
あなたは簡単に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を参照して出力します。
xpathを使用したい場合は、XPath '// div [@ class =" clsfd_list_row_group "]/@ data-cid' –
@WiktorStribiżewを使用してください。 – EnexoOnoma
なぜ、' \/'あなたの入力文字列にスラッシュ? https://regex101.com/r/jV5kL9/1 –