في بعض إالأحيان نحتاج إلى حذف جميع الفراغات من النص قبل التحقق مثلا من صلاحيته (Validation) لإضافته إلى قاعدة البيانات.
فمثلا قبل إضافة رقم الهاتف لقاعدة البيانات يتوجب علينا التحقق أولا من أنه يتكون فقط من أرقام صحيحة، ولهذا الغرض سنستعمل الدالة str_replace الموجودة في PHP كالتالي :

عند تجربة الكود أعلاه سنلاحظ أن دالة str_replace تعمل كما يجب، ولكن ماذا لو كانت الفراغات مركبة أومتعددة (multiple whitespaces) ؟ في تلك الحالة لن تكون لدالة str_replace الفائدة المرجوة، فهي ستقوم فقط بإزالة الفراغات البسيطة (‘ ‘) وليس الفراغات المركبة (‘      ‘) كلها.
لحسن الحظ هناك دالة أخرى في PHP تفي بالغرض وهي preg_replace التي تعمل بنفس الطريقة إلا أنها تقبل في البارامتر الأول تعبيرا اعتياديا (Regular Expression) عوض قيمة نصية عند دالة str_replace، والمثال التالي سيوضح المسألة أكثر :

كما تلاحظون هنا استعملنا تعبيرا اعتياديا (/\s+/) في البارامتر الأول يقول لدالة preg_replace أن تقوم بإزالة كل الفراغات في النص (الفراغ المركب يتكون من عدة فراغات قد تكون حتى أسطرا فارغة) والحاصل كما هو معروف سيكون رقما هاتفيا مكونا من أرقام فقط.

1 تعليق

ترك الرد

Please enter your comment!
Please enter your name here