السلام عليكم ورحمة الله وبركاته
لي استفسار بسيط
لو كان لدي جملة مكتوبة بالتشكيل ( يعني عليها ضم وفتح وتنوين ..... )
وأريد أم أحذف التشكيل منها
هل مر على أحدكم دالة للقيام بذلك ؟
تحياتي لكم :con2:
السلام عليكم ورحمة الله وبركاته
لي استفسار بسيط
لو كان لدي جملة مكتوبة بالتشكيل ( يعني عليها ضم وفتح وتنوين ..... )
وأريد أم أحذف التشكيل منها
هل مر على أحدكم دالة للقيام بذلك ؟
تحياتي لكم :con2:
علامات التشكيل هي حروف بالحقيقه ولو كنت تتصفح من متصفحات غير اكسبلور سوف ترى علامات التشكيل لها مساحه كالحرف ..
عموماً استخدم استبدال الحروف بلاشيء ..
دمت بودكود:$msg = str_replace(array('علامة1','علامة2'),'', $msg);
__________________
إلى اللقاء سوالف , وآسف على الإزعاج...
moffed.com , kleeja.com/tour/ar ,phpbbarabia.com
كما أسلف اخي الكريم saanina ، علامات التشكيل هي حروف بالحقيقة ..
عموماً يمكنك استخدام الطريقة التالية ..
لكن لفظ الجلالة ( الله ) لن تحذف علامات التشكيل منها ولا يمكن ذلك ..كود PHP:
// define the word
$word = "بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيم";
// define the marks
$marks = array("ّ","َ","ً","ُ","ٌ","ِ","ٍ","ْ");
// remove the marks in the word
$word = str_replace($marks,"",$word);
// print the word
print $word;
شاكر لكما أخواي تعاونكما
تحياتي
هذي أسرع:
كود PHP:
$str = preg_replace('/ّ|َ|ً|ُ|ٌ|ِ|ٍ|ْ/', '', $str);
بالعكس أخي الكريم دالة str_replace أسرع من preg_replace لأنه يتم تنفيذها مباشرة،،
بينما في preg_replace يتم الإستعانه بمترجم pear
أخي الكريم، إن كلامك دقيق تماما حينما تكون عملية الاستبدال تتم على وسيط وحيد أو محرف وحيد، لكن كلما زاد عدد الوسطاء المراد استبدالهم (كما في حالتنا هذه عند استخدام مصفوفة) فإن الأفضلية تنقلب لمصلحة preg_replace كونها صممت لتجري عملية استبدال متعدد ومتشعب بشكل مباشر على عكس الطريقة التي صممت من أجلها تعليمة str_replace والتي هي مناسبة أكثر لعمليات الاستبدال البسيطة.
لمزيد من الإيضاح الرجاء الاطلاع على الإختبار التالي:
PEAR, benchmarking str_replace, preg_replace and ereg_replace
بالفعل ، عندما يزيد عدد الوسطاء المراد استبدالهم يفضل إستخدام الدالة preg_replace
زادك الله علماً أخي الكريم DNSerror ..
على الرحب والسعة