正規表現は、特定のルールに基づいて文字、単語、または文字ブロックに一致する強力な文字列マッチングツールです。 PHP開発では、データ収集、フォーマット検証、その他のシナリオで正規表現が広く使用されています。一般的に使用される正規表現の例を次に示します。
英語期間。正規表現では、ラインブレークを除く単一の文字と一致することを意味します。たとえば、式「。」任意のキャラクターに一致させることができます:
<span class="fun">'。'</span>
角括弧[]を使用して、括弧内のキャラクターを一致させます。例えば:
<span class="fun">[ABC]</span>
文字a、b、またはcを一致させます。
特定の範囲のキャラクターを一致させたい場合は、次のようなハイフンを使用できます。
<span class="fun">[AZ]</span>
すべての小文字の英語文字に一致することを示します。
予選は、表示される文字の数を制御できます。一般的に使用される次のものが含まれます。
たとえば、16進数を1桁から2桁に一致させます。
<span class="fun">[0-9A-FA-F] {1,2}</span>
この式は、数字0-9と文字AF(ケースの鈍感)と一致し、1回または2回表示されます。
PHPのCurlライブラリは、簡単にWebページのデータをクロールできます。次の例は、Baiduのホームページをリクエストする方法を示しています。
$curl = curl_init('http://www.baidu.com');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($curl);
curl_close($curl);
<p>echo $html;<br>
コードでは、 curl_init()がcurlセッションを初期化する、 curl_setopt()セットはWebページコンテンツを返すように、 curl_exec()はリクエストを実行し、最後にセッションを閉じます。
WebページHTMLを取得した後、正規表現を使用して特定のコンテンツを抽出できます。たとえば、すべてのタグでリンクアドレスとテキストをつかみます。
preg_match_all('/<a href="(.*)" target="_blank">(.*)<\/a>/U', $html, $matches);
foreach ($matches[2] as $match) {
echo $match . '\n';
}
上記の通常のレギュラーは、基準を満たすすべてのタグと一致し、HREF属性とリンクテキストをそれぞれ$マッチアレイに保存します。すべてのリンクテキストは、$マッチを通過することにより出力できます[2] 。
同様に、正規表現を使用して、Webページのすべての画像のURLを抽出できます。
preg_match_all('/<img src="(.*)" width=.* height=.*>/U', $html, $matches);
foreach ($matches[1] as $match) {
echo $match . '\n';
}
ここでは、正規表現がすべてに一致しますSRC属性のタグと抽出、 $ MATTES [1]はすべての画像リンクを保存します。
リンクや写真に加えて、通常の表現を使用して、電子メール、電話番号などの情報を抽出することもでき、表現の柔軟な設計はさまざまなニーズを満たすことができます。
文字列処理の強力なツールとして、正規表現は、PHPでのデータ収集と検証を実現するための強力なサポートを提供します。正規表現を合理的に記述し、PHPのCurl関数を組み合わせることにより、Webページのデータは効率的にrawって解析できます。この記事のコンテンツが、PHPの正規表現の実践的なスキルを開発者がより良く習得できるようになることを願っています。