2013-03-02 5 views
5

Ich möchte Filter-Eingang nur für Farsi, ich denke, regulären Ausdruck mit filter_input() ist eine gute Idee, aber Ich weiß nicht, wie dieses Problem zu lösen, ich habe suchen, aber ich finde nicht wie arabisch für Farsi oder Persischer Charakter dagegen kann es mit möglich sein, aber ich habe keine Ahnung über seinen regulären Ausdruck.Wie Filtereingang für Farsi-Zeichen?

+0

Sie versucht haben, '\ p {}' Arabisch und sehen, ob es funktioniert? "Arabisch" bezieht sich auf das Skript (das verschiedene Unicode-Blöcke enthält) für Sprachen, die arabische Skripts verwenden. – nhahtdh

+0

Nein, weil Persien 4 Zeichen mehr hat als Arabisch. – user1695063

+0

Ich meine das arabische Unicode-Skript, nicht die arabische Sprache oder die persische Sprache selbst. Die Sprache mag anders sein, aber unterstützt das arabische Unicode-Skript alles? (Versuchen Sie es hier einzugeben: http://www.regex101.com/r/tZ9dB4). Wenn es nicht übereinstimmt, können Sie das Beispiel zeigen? – nhahtdh

Antwort

8

sollte diese Arbeit:

preg_match("(^[\x{0600}-\x{06FF}]*$)", 'فارسی');

Und auch Sie können alle diese Formen für persische Sprache verwenden:

persischer Alphabet

فارسی

Persian Numbers

/^([\x{06F0}-\x{06F9}])+$/ 

persischer einfachen Text mit Raum und Halbraum

اگر زمان و مکان در اختیار ما بود, 10 سال پیش از طوفان نوح عاشقت میشدم

/^([\x{0600}-\x{06FF}| |\x{200C}])+$/ 
+0

Dieses Problem gelöst, aber wie kann ich das Ergebnis so etwas wie Echo "فاریی" zeigen; – user1695063

+0

preg_match prüft nur, ob der Ausdruck in 0600 und 06FF ist, dann sage ich dir, ob er wahr ist oder nicht, du meinst, du kannst 'فاریی' nicht in HTML-Seite drucken? –

+0

preg_match gibt 1 zurück, die Erfolg anzeigt, aber wenn ich drucken möchte arabische Zeichenfolge php druckt komisches Zeichen etw wie Ø³ÛŒØ – user1695063