3

Pythonでは、Unicodeに変換して、'(?u)^ [\ w] + $'正規表現検索を実行できましたが、PHPは国際的な\wを理解していないようです。

4

3 に答える 3

8

私自身はテストしていませんが、 http: //us3.php.net/manual/en/reference.pcre.pattern.syntax.phpを見ると、次のことが示唆されています: '/^[\p{L} ]+$/ u' が機能します - \p{L} は任意の Unicode 文字に一致します。さらに、中括弧なしでこれを書くことができるようです - '/^[\pL ]+$/u'.

于 2008-11-12T23:28:30.610 に答える
1

afaik PHP は utf8 を認識していません。つまり、php 自体はバイト単位以外では処理できません。

PHP はすべてが latin1 であると考えていますが、mbstring のような便利な拡張機能があります。

http://se.php.net/mbstring

于 2008-11-12T23:29:17.927 に答える
0

コードベースのあらゆる場所で UNICODE を適切に機能させることは、PHP6 の「大きな」機能の 1 つです。

それまでは、多くのセキュリティ上の問題が発生する可能性があるため、PHP で UNICODE を使用しないことをお勧めします。

多くのコードは UNICODE に対応していないため、安全ではなく、エクスプロイトが非常に不快な方法で通過する可能性があります。

于 2008-11-12T23:34:42.020 に答える