【 PHP 】PHP8に入門してみた 129日目 PHPの基本 ( 組み込み関数 正規表現を用いたオレオレ置換 )

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

組み込み関数

さらに高度な置換 preg_replace_callback関数

自分で置換ルールを作る(実装)するにはpreg_replace_callbackを使います。

<!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 =  <<<EOD
    サンプルは、「サーバーサイド技術の学び舎 (http://www.wings.msn.to/)」から入手
    できます。<br />執筆のノウハウ集 「WINGS Knowledge」 (http://www31.atwiki.jp/wingsproject)もどうぞ。
    EOD;
    print preg_replace_callback('|http(s)?://([\w-]+\.)+[\w-]+(/[\w ./?%&=-]*)?|', function ($matches) {
        foreach ($matches as $match) {
            // foreachの中でリターン???
            return mb_convert_case($match, MB_CASE_UPPER);
        }
    }, $str);
    ?>
</body>

</html>

メモ

細やかな関数ですね😆

foreachの内部でreturnが実装されています。
クロージャは謎がいっぱいです。

PHPPHP

Posted by raika@blog