ホームページ >バックエンド開発 >PHPチュートリアル >正規表現の作成を手伝ってください

正規表現の作成を手伝ってください

WBOY
WBOYオリジナル
2016-06-23 14:15:20857ブラウズ

うーん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>
を直接使用します。この正規表現はどのように記述すればよいですか?


ディスカッション (解決策) への返信

最初に 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];


                                                   9cf493f8e16b84b1ee8dd8b39470779d爱丽丝cos5db79b134e9f6b82c0b36e0489ee08ed
                            86af9c60a7b1be8391bdc84f2f64743e爱丽丝连衣裙5db79b134e9f6b82c0b36e0489ee08ed
                            1ffaab1d85ea37b8fc6a38cb3e3e2aa0爱丽丝梦游仙境5db79b134e9f6b82c0b36e0489ee08ed
                            d0525c902bb521831d30a4c66d25ee8e爱丽丝疯狂回归5db79b134e9f6b82c0b36e0489ee08ed
                            da4218d6df55d1733fab60bb45d04458爱丽丝花盆5db79b134e9f6b82c0b36e0489ee08ed
                            c6880fcd04d2de745419d42e4089e262爱丽丝手办5db79b134e9f6b82c0b36e0489ee08ed
                            fec2634bf3cddec65be1ba7b6a72a21balice5db79b134e9f6b82c0b36e0489ee08ed
                            a4cdfb2d20e34c1f7089a59faaa17f04女仆5db79b134e9f6b82c0b36e0489ee08ed
                            988752050a5a9e9a6f56669732282459爱丽丝学园5db79b134e9f6b82c0b36e0489ee08ed
                            43ecc9751b69d937486b015185694941爱丽丝菲尔5db79b134e9f6b82c0b36e0489ee08ed
                            a664cd0cb1557cb9a63f75d53f4a0cd2爱丽丝手包5db79b134e9f6b82c0b36e0489ee08ed
                            ecd840ca2dd6f75d27ed7b3f398d200b爱丽丝复古5db79b134e9f6b82c0b36e0489ee08ed
                        

试试用这个匹配dd的内容

$pattern = '/<dd class="clear">.*<\/dd>/is'

修饰符i:不分大小写
修饰符s:模式里的一个"点"将匹配所有字符,包括换行.没有他,换行将被排除在外.这个修饰符等同于Perl里面的/s修饰符

$contents_key = '~<dd class="clear">([\s\S]*?)</dd>~';

我自己想了个,这个搞定。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。