PHP の preg_replace には u 修飾子をつけた方がいい

2016-03-14
1分で読了
更新: 2025-12-14

目次

例えば、下記のようなコードがあったとします。この正規表現の書き方が良いか悪いかは別として、半角・全角スペースで区切られた文字列の最初の文字列だけを取得しようとしています。

想定した結果は「かたつむりくんのWWW」ですが、環境によっては結果が「か」だけになったりします。

これを回避するには、正規表現にパターン修飾子の u を付けて、パターンと対象文字列を UTF-8 として処理するように明示します(文字コードが UTF-8 であるのが前提)。

すると結果は想定通りの「かたつむりくんのWWW」となります。

以上です。

この記事をシェア

この記事を書いた人

Roy Okuwaki

「かたつむりくんのWWW」を運営している Roy Okuwaki(tinybeans)です。bit part 合同会社 代表社員。2007年から、Movable Type や Craft CMS などの CMS、Web 開発、AI ツールの使い方について書いています。

プロフィールを見る →

関連記事