1
preg_match('/^[-A-Za-z0-9\p{Han}]+$/u', $name)
这将只适用于中文字符,我需要它来检查所有语言。 有什么建议吗?多种语言的PHP preg_match
我试过下面的命令。它适用于某种语言,但并不适用于所有人。
preg_match('/^[-A-Za-z0-9\p{L} ]+$/u', $name)
编辑
确切的要求是:如果字符串包含任何符号,与_
更换;同时允许多语言内容。
你的意思是'\ p {Letter}'? – raina77ow
我已经测试过印地文,中文和日文。它适用于中文和日文,但不适用于印地语 – Cristal
它看起来很适合我,但是您没有包含变音符号模式。尝试添加'\ p {M}'。 '/^[ - \ p {N} \ p {L} \ p {M} \ s] + $/u''或 - 避免匹配数字 - ''/^[ - \ p {L} \ p {M} \ S] + $/u''。你能请分享*确切*要求?什么是*字符*在这里?字母/数字/变音符号/空间/连字符/撇号?当请求正则表达式问题时,请**更具体。 –