preg_match('/^[-A-Za-z0-9\p{Han}]+$/u', $name)
Dies funktioniert nur für chinesische Schriftzeichen, ich brauche es für alle Sprachen zu überprüfen. Irgendwelche Vorschläge?PHP preg_match für mehrere Sprachen
Ich versuchte unten Befehl. Es funktioniert für einige Sprachen, funktioniert aber nicht für alle.
preg_match('/^[-A-Za-z0-9\p{L} ]+$/u', $name)
EDIT
Die genaue Anforderung ist: wenn die Zeichenfolge ein beliebiges Symbol enthält, ersetzen Sie ihn durch _
; während mehrsprachige Inhalte erlaubt werden.
Meinst du '\ p {Brief}'? – raina77ow
Ich habe für Hindi, Chinesisch und Japanisch getestet. Es funktionierte für Chinesisch und Japanisch, aber nicht für Hindi – Cristal
Es sieht gut aus, aber Sie haben kein diakritisches Muster enthalten. Versuchen Sie auch, '\ p {M}' hinzuzufügen. '/^[- \ p {N} \ p {L} \ p {M} \ s] + $/u'' oder - um übereinstimmende Ziffern zu vermeiden -' '/^[- \ p {L} \ p {M} \ s] + $/u''. Könnten Sie bitte * genaue * Anforderungen teilen? Was ist * Charakter * hier? Buchstaben/Ziffern/diakritische Zeichen/Leerzeichen/Bindestriche/Apostrophe? Bitte ** konkreter **, wenn Sie Regex-Fragen stellen. –