شرح دوال النصوص (String Functions) في PHP
بعد أن تعلمت أساسيات Strings في PHP، الخطوة التالية هي استخدام الدوال الجاهزة للتعامل مع النصوص بسرعة واحتراف. هذه الدوال توفر عليك كتابة كود طويل وتمنحك نتائج دقيقة.
في هذا الدرس سنأخذ أهم دوال النصوص التي ستستخدمها يومياً في أي مشروع PHP.
أهم دوال النصوص في PHP
| الدالة | وظيفتها | مثال سريع |
|---|---|---|
strlen() |
حساب طول النص | strlen("Hello") ترجع 5 |
strpos() |
إيجاد موضع كلمة داخل نص | strpos("Hello world", "world") ترجع 6 |
str_replace() |
استبدال جزء من النص | str_replace("world", "PHP", "Hello world") |
strtolower() |
تحويل النص إلى أحرف صغيرة | strtolower("PHP") ترجع php |
strtoupper() |
تحويل النص إلى أحرف كبيرة | strtoupper("php") ترجع PHP |
مثال 1: حساب طول النص باستخدام strlen()
الكود:
<?php
$text = "Hello PHP";
echo strlen($text);
?>
ما يظهر في المتصفح:
9
شرح كود PHP:
$textمتغير يحتوي نصاً.strlen($text)تحسب عدد المحارف داخل النص (بما فيها المسافة).
مثال 2: البحث داخل النص باستخدام strpos()
الكود:
<?php
$text = "Hello world";
echo strpos($text, "world");
?>
ما يظهر في المتصفح:
6
شرح كود PHP:
strpos()تبحث عن أول ظهور للكلمة داخل النص.- القيمة
6تعني أن الكلمة تبدأ من المحرف رقم 6 (لأن العد يبدأ من 0).
مثال 3: استبدال نص باستخدام str_replace()
الكود:
<?php
$text = "مرحباً بك في ديف عربي";
echo str_replace("ديف عربي", "منصة البرمجة", $text);
?>
ما يظهر في المتصفح:
مرحباً بك في منصة البرمجة
شرح كود PHP:
- المعامل الأول هو النص المراد استبداله.
- المعامل الثاني هو النص الجديد.
- المعامل الثالث هو النص الأصلي الذي سيتم تعديله.
مثال 4: تحويل حالة الأحرف
الكود:
<?php
echo strtolower("WELCOME");
echo "<br>";
echo strtoupper("php");
?>
ما يظهر في المتصفح:
welcome
PHP
ملاحظة مهمة للنصوص العربية
عند التعامل مع العربية أو أي لغة متعددة البايت، يفضل استخدام دوال mb_
مثل mb_strlen() وmb_strtolower() للحصول على نتائج أدق مع UTF-8.
strlen() نتيجة غير متوقعة مع بعض النصوص العربية،
بينما mb_strlen() يكون أدق غالباً.
أخطاء شائعة للمبتدئين
- الخلط بين
strpos()التي تعيد موضعاً وstr_replace()التي تعيد نصاً جديداً. - نسيان أن العد في
strpos()يبدأ من 0. - اعتبار القيمة
0فيstrpos()كأنهاfalseبدون مقارنة صحيحة. - استخدام دوال غير مناسبة مع النصوص العربية وعدم الانتباه إلى UTF-8.
تمرين تطبيقي سريع
- أنشئ متغيراً نصياً يحتوي جملة من اختيارك.
- اطبع طول النص باستخدام
strlen(). - ابحث عن كلمة داخل النص باستخدام
strpos(). - استبدل كلمة بكلمة أخرى باستخدام
str_replace().
الأسئلة الشائعة — FAQ
ما هي دوال النصوص في PHP؟
هي دوال جاهزة لمعالجة النصوص مثل الطول، البحث، الاستبدال، وتغيير حالة الأحرف.
ما فائدة strlen()؟
تحسب عدد المحارف داخل النص.
ما الفرق بين strpos() وstr_replace()؟
strpos() تبحث عن موضع كلمة، بينما str_replace() تستبدل نصاً بآخر.
كيف أتعامل بدقة مع النصوص العربية؟
استخدم دوال mb_ مثل mb_strlen() للتعامل الصحيح مع UTF-8.