PHPのpreg_match関数を使って正規表現によるマッチングを行うときに、日本語で検索すると意図した通りマッチングしなかったので、その対処法を紹介します。
検索パターンに日本語を使う場合の対処法
検索するパターンに日本語を使いたい場合は、パターン修飾子のu
(PCRE_UTF8)を使います。
/検索するパターン/u
例として、晴天
を抜き出して見ます。
<?php $subject = "今日は晴天です。"; $pattern = '/今日は(.+?)です。/u'; preg_match($pattern, $subject, $matches); echo $matches[1];
以上です。