preg_match('/^[-A-Za-z0-9\p{Han}]+$/u', $name)
これは漢字でのみ動作します。すべての言語をチェックする必要があります。 提案がありますか?多言語用PHP preg_match
私は以下のコマンドを試しました。それはいくつかの言語では機能しますが、すべての人にとってうまくいきません。
preg_match('/^[-A-Za-z0-9\p{L} ]+$/u', $name)
EDIT
正確な要件は、次のようになります。文字列は任意のシンボルが含まれている場合、_
と交換してください。マルチ言語コンテンツを許可します。
あなたは '\ p {Letter}'を意味しますか? – raina77ow
私はヒンディー語、中国語、日本語をテストしました。それは中国語と日本語では機能しましたが、ヒンディー語ではありませんでした。 – Cristal
それは私にはうまく見えますが、発音区別のパターンは含まれていませんでした。 '\ p {M}'も追加してみてください。 \ '{\ p {L} \ p {M} \ s] + $/u''または - 一致する数字を避けるために ''/^ [ - \ p {L}} \ p {M} \ s] + $/u''です。 *厳密な要件を共有していただけますか? *文字*は何ですか?文字/数字/発音区別記号/スペース/ハイフン/アポストロフィ?正規表現の質問をするとき** **より具体的に**ください。 –