2013-03-02 5 views
5

मैं केवल फारसी के लिए फ़िल्टर इनपुट चाहता हूं, मुझे लगता है कि filter_input() के साथ नियमित अभिव्यक्ति एक अच्छा विचार है लेकिन मुझे नहीं पता कि इस समस्या को कैसे हल किया जाए, मैंने खोज की है लेकिन मुझे फारसी के लिए \ p {अरबी} की तरह नहीं लगता है या दूसरी तरफ फारसी चरित्र Unicode के साथ संभव हो सकता है लेकिन मुझे इसकी नियमित अभिव्यक्ति के बारे में कोई जानकारी नहीं है।फारसी चरित्र के लिए फ़िल्टर इनपुट कैसे करें?

+0

आप की कोशिश की है '\ p {अरबी}' करें और देखें कि यह काम करता है? 'अरबी' अरबी स्क्रिप्ट का उपयोग करने वाली भाषाओं के लिए स्क्रिप्ट (जिसमें विभिन्न यूनिकोड ब्लॉक शामिल हैं) को संदर्भित करता है। – nhahtdh

+0

नहीं क्योंकि फारस में अरबी की तुलना में 4 और चरित्र हैं। – user1695063

+0

मेरा मतलब यूनिकोड अरबी लिपि है, न कि अरबी भाषा या फारसी भाषा। भाषा अलग हो सकती है, लेकिन यूनिकोड अरबी लिपि सबकुछ का समर्थन करती है? (इसे यहां टाइप करने का प्रयास करें: http://www.regex101.com/r/tZ9dB4)। यदि यह मेल नहीं खाता है, तो क्या आप उदाहरण दिखा सकते हैं? – nhahtdh

उत्तर

8

यह काम करना चाहिए:

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

और यह भी आप फारसी भाषा के लिए इन सभी रूपों का उपयोग कर सकते हैं:

फारसी वर्णमाला

فارسی

/^([\x{0600}-\x{06EF}])+$/ 

फारसी नंबर

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

अंतरिक्ष और आधा अंतरिक्ष

اگر زمان و مکان साथ फारसी साधारण पाठ در اختیار ما بود, 10 سال پیش از طوفان نوح عاشقت میشدم

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

की तरह sth दिखाता है यह समस्या हल हो गई है, लेकिन मैं परिणाम कैसे दिखा सकता हूं जैसे "فارسی"; – user1695063

+0

preg_match बस जांचता है कि अभिव्यक्ति 0600 और 06FF में है तो आपको बताएं कि यह सच है या नहीं, आप का मतलब है कि आप HTML पृष्ठ में 'فارسی' प्रिंट नहीं कर सकते हैं? –

+0

preg_match रिटर्न 1 जो सफलता को इंगित करता है लेकिन जब मैं प्रिंट करना चाहता हूं अरबी स्ट्रिंग php प्रिंट अजीब चरित्र sth سیب – user1695063

संबंधित मुद्दे