ホームページ >バックエンド開発 >PHPチュートリアル >正規表現の作成を手伝ってください
うーんdd タグの外側に同じ形式を含めるには、
<dd class="clear"> <a target="_blank" title="爱丽丝cos" href="/cp/sK7A9su_Y29z.html">爱丽丝cos</a> <a target="_blank" title="爱丽丝连衣裙" href="/cp/sK7A9su_wazSwsi5.html">爱丽丝连衣裙</a> <a target="_blank" title="爱丽丝梦游仙境" href="/cp/sK7A9su_w87Tzs_JvrM.html">爱丽丝梦游仙境</a> <a target="_blank" title="爱丽丝疯狂回归" href="/cp/sK7A9su_t-i_8bvYuek.html">爱丽丝疯狂回归</a> <a target="_blank" title="爱丽丝花盆" href="/cp/sK7A9su_u6jF6A.html">爱丽丝花盆</a> <a target="_blank" title="爱丽丝手办" href="/cp/sK7A9su_ytaw7A.html">爱丽丝手办</a> <a target="_blank" title="alice" href="/cp/YWxpY2U.html">alice</a> <a target="_blank" title="女仆" href="/cp/xa7GzQ.html">女仆</a> <a target="_blank" title="爱丽丝学园" href="/cp/sK7A9su_0afUsA.html">爱丽丝学园</a> <a target="_blank" title="爱丽丝菲尔" href="/cp/sK7A9su_t8a2-w.html">爱丽丝菲尔</a> <a target="_blank" title="爱丽丝手包" href="/cp/sK7A9su_ytaw_A.html">爱丽丝手包</a> <a target="_blank" title="爱丽丝复古" href="/cp/sK7A9su_uLS5xQ.html">爱丽丝复古</a> </dd>を直接使用します。この正規表現はどのように記述すればよいですか?
まず、13233be17f9c3aa3e1579ca9b0be4eb5 と 82e295699cff932a4d4dabba39074c35 の間のコンテンツを取得し、次にその中のタイトルとリンクを解析します。これは 2 段階のプロセスです。それを一致させて、通常のルールを適用します。
しかし現在、dd タグを直接キャプチャすることは不可能です
dd タグの途中にはスペースが多く、(.*?) を使用して一致させることはできません。
最終的な結果は何ですか?
title="ここに私が欲しいもの" href="ここにも私が欲しいものがあります" という正規表現がベストだと思いますが、2 つの正規表現は 2 回一致する必要があるのではないかと思います。効率が少し低すぎるでしょうか?
$s=<<<divagfdafg<dd class="clear"> <a target="_blank" title="爱丽丝cos" href="/cp/sK7A9su_Y29z.html">爱丽丝cos</a> <a target="_blank" title="爱丽丝连衣裙" href="/cp/sK7A9su_wazSwsi5.html">爱丽丝连衣裙</a> <a target="_blank" title="爱丽丝梦游仙境" href="/cp/sK7A9su_w87Tzs_JvrM.html">爱丽丝梦游仙境</a> <a target="_blank" title="爱丽丝疯狂回归" href="/cp/sK7A9su_t-i_8bvYuek.html">爱丽丝疯狂回归</a> <a target="_blank" title="爱丽丝花盆" href="/cp/sK7A9su_u6jF6A.html">爱丽丝花盆</a> <a target="_blank" title="爱丽丝手办" href="/cp/sK7A9su_ytaw7A.html">爱丽丝手办</a> <a target="_blank" title="alice" href="/cp/YWxpY2U.html">alice</a> <a target="_blank" title="女仆" href="/cp/xa7GzQ.html">女仆</a> <a target="_blank" title="爱丽丝学园" href="/cp/sK7A9su_0afUsA.html">爱丽丝学园</a> <a target="_blank" title="爱丽丝菲尔" href="/cp/sK7A9su_t8a2-w.html">爱丽丝菲尔</a> <a target="_blank" title="爱丽丝手包" href="/cp/sK7A9su_ytaw_A.html">爱丽丝手包</a> <a target="_blank" title="爱丽丝复古" href="/cp/sK7A9su_uLS5xQ.html">爱丽丝复古</a> </dd>dafdsaf div;preg_match('/<dd class="clear">(.+?)<\/dd>/s',$s,$m); echo $m[1];
试试用这个匹配dd的内容
$pattern = '/<dd class="clear">.*<\/dd>/is'
$contents_key = '~<dd class="clear">([\s\S]*?)</dd>~';