人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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の天才教えてください。


●質問者: chibitomo
●カテゴリ:コンピュータ インターネット
✍キーワード:dB EUC-JP JavaScript Lamp Out
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● wizemperor
●100ポイント

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

正規表現中にマルチバイト文字を含まないのであれば、特に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...

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ