2012-10-23 18 views
5

से गैर अल्फान्यूमेरिक वर्णों को स्ट्रिप करें, मैं डैश (-) को छोड़कर, स्ट्रिंग से सभी गैर अरबी, गैर अंग्रेजी और गैर संख्या वर्णक को हटाना चाहता हूं। मैं इस तरह यह करने की कोशिश कीअरबी यूटीएफ 8 + अंग्रेजी स्ट्रिंग

$slug = ereg_replace('[^A-Za-z0-9-]', '', $string); 

लेकिन गैर अरबी अल्फ़ान्यूमेरिक वर्णों के लिए:

मैं इस तरह गैर अंग्रेजी अल्फ़ान्यूमेरिक वर्णों के लिए यह करने के लिए प्रबंधित

$slug = ereg_replace('\p{InArabic}', '', $string); 

लेकिन यह पट्टी फ्लॉप गैर अल्फान्यूमेरिक अक्षर! मैंने this answer भी कोशिश की लेकिन यह काम नहीं किया, यह हमेशा '0' देता है !!

$slug = preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9-]/u','', $string); 

उम्मीद है कि कोई मेरी मदद कर सकता है।

+1

'ereg_replace' मान्य नहीं है। 'Preg_replace' के साथ regex काम करना चाहिए। क्या आप नमूना तार प्रदान कर सकते हैं जहां यह काम नहीं करता है? – Toto

+0

'preg_last_error()' का आउटपुट क्या है? कोड स्निपेट काम करता है। –

+0

धन्यवाद एम 42, जो "xdazz" उत्तर की मदद से काम करता है, सभी लोगों को धन्यवाद। –

उत्तर

9

नीचे का प्रयास करें:

$slug = preg_replace('/[^\p{Arabic}\da-z-]/ui', '', $string); 
+0

बहुत धन्यवाद xdazz जो एक आकर्षण की तरह काम किया! –

+0

@WaleedAsender आपका स्वागत है :) – xdazz

+0

अच्छा, मेरे लिए काम किया, धन्यवाद –