في بعض إالأحيان نحتاج إلى حذف جميع الفراغات من النص قبل التحقق مثلا من صلاحيته (Validation) لإضافته إلى قاعدة البيانات. فمثلا قبل إضافة رقم الهاتف لقاعدة البيانات يتوجب علينا التحقق أولا من أنه يتكون فقط من أرقام صحيحة، ولهذا الغرض سنستعمل الدالة str_replace الموجودة في PHP كالتالي :
//إزالة الفراغات من رقم الهاتف
$phone = '066 7777 88 999';
$phone_without_spaces = str_replace(' ', '', $phone);
echo $phone_without_spaces; // الحاصل سيكون 066777788999
عند تجربة الكود أعلاه سنلاحظ أن دالة str_replace تعمل كما يجب، ولكن ماذا لو كانت الفراغات مركبة أومتعددة (multiple whitespaces) ؟ في تلك الحالة لن تكون لدالة str_replace الفائدة المرجوة، فهي ستقوم فقط بإزالة الفراغات البسيطة (’ ’) وليس الفراغات المركبة (’ ’) كلها. لحسن الحظ هناك دالة أخرى في PHP تفي بالغرض وهي preg_replace التي تعمل بنفس الطريقة إلا أنها تقبل في البارامتر الأول تعبيرا اعتياديا (Regular Expression) عوض قيمة نصية عند دالة str_replace، والمثال التالي سيوضح المسألة أكثر :
//إزالة الفراغات المركبة من رقم الهاتف
$phone = '066 7777 88 999';
$phone_without_whitespaces = preg_replace('/\s+/', '', $phone);
echo $phone_without_whitespaces; // الحاصل سيكون 066777788999
كما تلاحظون هنا استعملنا تعبيرا اعتياديا /\s+/
في البارامتر الأول يقول لدالة preg_replace أن تقوم بإزالة كل الفراغات في النص (الفراغ المركب يتكون من عدة فراغات قد تكون حتى أسطرا فارغة) والحاصل كما هو معروف سيكون رقما هاتفيا مكونا من أرقام فقط.