【 PHP 】PHP8に入門してみた 137日目 PHPの基本 ( 組み込み関数 正規表現で見つけた単語を後で使う)

2023年1月5日

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

組み込み関数

高度な正義表現 マッチした文字列を後で使うには

マッチした文字列がどんな文字列だったのか、正規表現で検索した後に確認したいことがあります。

そんなときには後方参照を使います。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHPの基本</title>
</head>

<body>
    <?php


    $str = '<p>サポートサイト<a href="https://www.wings.msn.to/">https://www.wings.msn.to/</a></p>';

    // 「\1」 は 「.+?」のことなんですね! 
    if (preg_match('/<a href="(.+?)">\1<\/a>/', $str, $data)) {
        print htmlspecialchars(($data[0]));
    }

    print "<br />";

    // 名前付きキャプチャグループでも後方参照は可能です。
    if (preg_match('/<a href="(?P<link>.+?)">(?P=link)<\/a>/', $str, $data)) {
        print htmlspecialchars(($data[0]));
    }
    ?>
</body>

</html>

 

メモ

なんだか正規表現の勉強みたいになってきたので正規表現はそろそろおしまい!

PHPPHP

Posted by raika@blog