タグ

RegExpとphpに関するCherenkovのブックマーク (3)

  • 正規表現にUTF-8を使うには/uオプションをつける。: PHPの種 ブログ

    正規表現を組んでいて、なんだか思い通りの挙動をしないなーと思った時、思い出してください。 マニュアル:パターン修飾子 u (PCRE_UTF8) この修正子は、Perl 非互換な PCRE の機能を有効にします。パターン 文字列は、UTF-8 エンコードされた文字列として処理されます。 この修正子は、UNIX では PHP 4.1.0 以降、Win32 では PHP 4.2.3 以降で 使用可能です。 また、PHP 4.3.5 以降では、パターンの UTF-8 としての妥当性も確認されます。 UTF-8な文字列をpreg系で使っている時は、uオプションを有効にしましょう!

    Cherenkov
    Cherenkov 2011/04/29
    「正規表現(パターン)にUTF-8を使う際は/uオプションをつける。UTF-8な文字列をpreg系で使っている時は、uオプションを有効にしましょう」マルチバイト 文字コード
  • PHP: 正規表現パターンに使用可能な修飾子 - Manual

    Regarding the validity of a UTF-8 string when using the /u pattern modifier, some things to be aware of; 1. If the pattern itself contains an invalid UTF-8 character, you get an error (as mentioned in the docs above - "UTF-8 validity of the pattern is checked since PHP 4.3.5" 2. When the subject string contains invalid UTF-8 sequences / codepoints, it basically result in a "quiet death" for the pr

    Cherenkov
    Cherenkov 2011/04/22
    日本語を含むパターンを使う場合は\uオプション必須。
  • [PHP] mb_ereg()じゃない、preg_match_all()に/uをつけるんだ!

    ウノウラボ Unoh Labs: PHPのちょっとしたコツ  最近のスクリプト言語は機能が多く、基的な機能はほとんど実装されているので、アルゴリズムをどうこうするより、どの機能を使うか選ぶ方が重要だったりしますね(コーディングの効率的にも)。  自分にもそういったレベルで気をつけていることがいくつかあります。 -[早起き生活]PHPのパフォーマンスチューニング -[早起き生活]PHPのパフォーマンスチューニング その2:count()も使い過ぎると重くなる -[早起き生活]PHPのパフォーマンスチューニング その3:APC投入  あと、最近気づいたTIPSとしては、 日語を正規表現検索したいときでもereg系の関数を使うのはやめとけ なんてのもあります。  PHPの組み込み正規表現関数にはPHP独自のereg系とPerl互換のpreg系がありますが、ヘルプに書いてあるとおり、ereg系

    Cherenkov
    Cherenkov 2011/04/22
    UTF-8な日本語に正規表現を使う場合は\uオプション必須。
  • 1