「ü」などのアクセント付き文字を許可する PHP と互換性のある正規表現を作成しようとしています。私が理解していることから、 \p{L} 演算子がこれを行う必要があります。私がこれまでに持っているもの:
/^[a-z0-9\p{L}][a-z0-9_\p{L}]*/i
これにより、任意の a ~ z、0 ~ 9、およびアクセント記号付きの文字で開始でき、その後に任意の数の a ~ z、0 ~ 9、およびアクセント記号付きの文字を続けることができる文字列が許可され、式全体で大文字と小文字が区別されません。
ただし、テストでは、文字列のどこかに「ü」などの文字を使用すると、検証に失敗します。以下を使用して、渡される値が utf8 でエンコードされていることを確認しました。
utf8_encode($value)
ただし、それでも失敗します。助言がありますか?
前もって感謝します
- - - - - - - - - - - - -編集 - - - - - - - - - - - - -
別のサーバーでテストした後、元のパターンも機能します。
/^[a-z0-9\p{L}][a-z0-9_\p{L}]*/i
問題はサーバーのセットアップにあるようです。解決策が見つかったら投稿します。