الدالة strstr()‎ في PHP

من موسوعة حسوب
< PHP

(PHP 4, PHP 5, PHP 7)

تبحث الدالة strstr()‎ عن أول ظهور لسلسلة نصيَّة معينة ضمن سلسلة نصيَّة أخرى.

الوصف

string strstr ( string $haystack , mixed $needle [, bool$before_needle = FALSE ] )

تبحث هذه الدالة عن أول ظهور للسلسلة النصيَّة needle في السلسلة النصيَّة haystack ثم تعيد جزءًا من هذه السلسلة والتي تبدأ من بداية المعامل needle -الذي عثر عليه أولًا- وحتى نهاية السلسلة.

ملاحظة: هذه الدالة حسَّاسة لحالة الأحرف. إن أردت البحث دون تحسُّس حالة الأحرف، فاستعمل الدالة stristr()‎.

ملاحظة: إن أردت أن تتأكد إن كان المعامل needle موجودًا ضمن السلسلة النصيَّة haystack فقط، فاستعمل الدالة strpos()‎ عوضًا عن ذلك إذ هي أسرع أداءً وأقل استهلاكًا للذاكرة.

المعاملات

haystack

السلسلة النصيَّة التي ستبحث الدالة فيها.

needle

مجموعة المحارف (السلسلة النصيَّة) التي ستبحث الدالة عنها. إن لم تكن تلك المحارف سلسلةً نصيَّةً، فستُحوَّل إلى عدد صحيح وتُعامل على أنَّها قيمة ترتيبيَّة للمحارف.

before_needle

معامل اختياري. إن كانت قيمته TRUE، فستعيد الدالة strstr()‎ جزءًا من السلسلة النصيَّة haystack الواقع قبل أول ظهور للمعامل needle ولا يكون هذا المعامل ضمن القيمة المعادة.

القيم المعادة

يُعاد جزء من المعامل haystack الواقع بين أول ظهور للمعامل needle في تلك السلسلة وحتى آخرها. إن لم يُعثر على المعامل needle، فستُعاد القيمة FALSE.

سجل التغييرات

الإصدار الوصف
5.3.0 إضافة المعامل الاختياري before_needle.
4.3.0 أًصبحت هذه الدالة آمنة ثنائيًّا.

أمثلة

المثال 1: استعمال الدالة strstr()‎

<?php
$email  = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // @example.com 

$user = strstr($email, '@', true); // الإصدار 5.3.0 وما بعده
echo $user; // name
?>

انظر أيضًا

  • الدالة preg_match()‎: تبحث عن تعبير نمطي (regular expression) في سلسلة نصيَّة.
  • الدالة stristr()‎: تبحث عن أول ظهور لسلسلة نصيَّة محدَّدة ضمن سلسلة نصيَّة أخرى دون تحسُّس حالة الأحرف.
  • الدالة strpos()‎: تبحث عن موقع أول ظهور لجزء من سلسلة نصيَّة في سلسلة نصيَّة أخرى.
  • الدالة strrchr()‎: تبحث عن وجود محرف معيَّن في سلسلة نصيَّة ثمَّ تعيد ما بعده.
  • الدالة strpbrk()‎: تبحث على مجموعة معيَّنة من المحارف ضمن سلسلة نصيَّة.

مصادر