PHP WEBアプリ(EUC-JPエンコ)を

UTF8で動かすため
全ソースをEUC-JP->UTF-8にエンコし
その他言語設定やDB接続部分
EUC-JP->UTF-8に設定し
mb_string設定もin/out utf8
LAMP共にUTF-8の設定で動作させています。
問題なく動作しているようなのですが

preg_replace
preg_match
などの正規表現は
例:
preg_match("/^(javascript|vbscript|about):/i", $String);

preg_match("/^(javascript|vbscript|about):/iu", $String);
とかに修正した方がよいのでしょうか?
PHPの天才教えてください。

回答の条件
  • 1人2回まで
  • 登録:2008/04/23 12:49:09
  • 終了:2008/04/23 13:39:06

回答(1件)

id:wizemperor No.1

wizemperor回答回数379ベストアンサー獲得回数522008/04/23 13:36:11

ポイント100pt

天才でなくてすみません。

正規表現中にマルチバイト文字を含まないのであれば、特にu修正子は特に必要ありません。

ただし、正規表現中にマルチバイト文字がある場合は、u修正子をつけないとおかしくなります。

u (PCRE_UTF8)

この修正子は、Perl 非互換な PCRE の機能を有効にします。パターン 文字列は、UTF-8 エンコードされた文字列として処理されます。 この修正子は、UNIX では PHP 4.1.0 以降、Win32 では PHP 4.2.3 以降で 使用可能です。 また、PHP 4.3.5 以降では、パターンの UTF-8 としての妥当性も確認されます。

http://jp2.php.net/manual/ja/reference.pcre.pattern.modifiers.ph...

id:chibitomo

ありがとうございます。すっきりしました!

2008/04/23 13:38:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません