الفرق بين المراجعتين لصفحة: «PHP/stristr»

من موسوعة حسوب
< PHP
أضفت المحتوى
 
لا ملخص تعديل
 
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE:الدالة <code>stristr()</code>‎ في PHP}}</noinclude>
= الدالة stristr()‎ في PHP =
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


الدالة stristr()‎ نسخة غير حساس لحالة الأحرف من الدالة strstr()‎.
الدالة <code>stristr()‎</code> نسخة غير حساس لحالة الأحرف من الدالة <code>[[PHP/strstr|strstr()‎]]</code>.


== الوصف ==
== الوصف ==
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
string stristr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] )
string stristr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] )
</syntaxhighlight>تبحث الدالة stristr()‎ عن أول ظهور للسلسلة النصيَّة needle في السلسلة النصيَّة haystack ثم تعيد جزءًا من هذه السلسلة والتي تبدأ من بداية المعامل needle -الذي عثر عليه أولًا- وحتى نهاية السلسلة.
</syntaxhighlight>تبحث الدالة <code>stristr()‎</code> عن أول ظهور للسلسلة النصيَّة <code>needle</code> في السلسلة النصيَّة <code>haystack</code> ثم تعيد جزءًا من هذه السلسلة والتي تبدأ من بداية المعامل <code>needle</code> -الذي عثر عليه أولًا- وحتى نهاية السلسلة.


== المعاملات ==
== المعاملات ==


=== haystack ===
=== <code>haystack</code> ===
السلسلة النصيَّة التي ستبحث الدالة فيها.
السلسلة النصيَّة التي ستبحث الدالة فيها.


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


=== before_needle ===
=== <code>before_needle</code> ===
معامل اختياري. إن كانت قيمته TRUE، فستعيد الدالة strstr()‎ جزءًا من السلسلة النصيَّة haysatck الواقع قبل أول ظهور للمعامل needle ولا يكون هذا المعامل ضمن القيمة المعادة.
معامل اختياري. إن كانت قيمته <code>TRUE</code>، فستعيد الدالة <code>[[PHP/strstr|strstr()‎]]</code> جزءًا من السلسلة النصيَّة <code>haysatck</code> الواقع قبل أول ظهور للمعامل <code>needle</code> ولا يكون هذا المعامل ضمن القيمة المعادة.


يُفْحَصُ المعاملان needle وhaystack بطريقة غير حساسة لحالة الأحرف.
يُفْحَصُ المعاملان <code>needle</code> و <code>haystack</code> بطريقة غير حساسة لحالة الأحرف.


== القيم المعادة ==
== القيم المعادة ==
تعيد الدالة stristr()‎ جزءًامن المعامل haysatck الواقع بين أول ظهور للمعامل needle في تلك السلسلة وحتى آخرها. إن لم يُعثر على المعامل needle، فستُعاد القيمة FALSE.
تعيد الدالة <code>stristr()‎</code> جزءًامن المعامل <code>haysatck</code> الواقع بين أول ظهور للمعامل <code>needle</code> في تلك السلسلة وحتى آخرها. إن لم يُعثر على المعامل <code>needle</code>، فستُعاد القيمة <code>FALSE</code>.


== سجل التغييرات ==
== سجل التغييرات ==
{| class="wikitable"
{| class="wikitable"
|الإصدار
!الإصدار
|الوصف
!الوصف
|-
|-
|5.3.0
|5.3.0
|أضيف المعامل الاختياري before_needle.
|أضيف المعامل الاختياري <code>before_needle</code>.
|-
|-
|4.3.0
|4.3.0
|أصبحتْ الدالة stristr()‎ آمنة ثنائية
|أصبحتْ الدالة <code>stristr()‎</code> آمنة ثنائية
|}
|}


== أمثلة ==
== أمثلة ==
المثال 1: مثال على الدالة stristr()‎<syntaxhighlight lang="php">
المثال 1: مثال على الدالة <code>stristr()‎</code><syntaxhighlight lang="php">
<?php
<?php
 
$email = 'USER@EXAMPLE.com';
 $email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'); // ER@EXAMPLE.com
 
echo stristr($email, 'e', true); // US بدءًا من الإصدار 5.3.0
 echo stristr($email, 'e'); // ER@EXAMPLE.com
 
 echo stristr($email, 'e', true); // US بدءًا من الإصدار 5.3.0
 
?>
?>
</syntaxhighlight>المثال 2: اختبار هل عُثِرَ على سلسلة نصية أم لا<syntaxhighlight lang="php">
</syntaxhighlight>المثال 2: اختبار هل عُثِرَ على سلسلة نصية أم لا<syntaxhighlight lang="php">
<?php
<?php
 
$string = 'Hello World!';
 $string = 'Hello World!';
if(stristr($string, 'earth') === FALSE) {
 
  echo '"earth" not found in string';
 if(stristr($string, 'earth') === FALSE) {
}
 
   echo '"earth" not found in string';
 
 }
 
// "earth" not found in string
// "earth" not found in string
?>
?>
</syntaxhighlight>المثال 3: استخدام المعامل needle وهو ليس "سلسلة نصية"<syntaxhighlight lang="php">
</syntaxhighlight>المثال 3: استخدام المعامل <code>needle</code> وهو ليس "سلسلة نصية"<syntaxhighlight lang="php">
<?php
<?php
 
$string = 'APPLE';
 $string = 'APPLE';
echo stristr($string, 97); // 97 = lowercase a
 
 echo stristr($string, 97); // 97 = lowercase a
 
// APPLE
// APPLE
?>
?>
</syntaxhighlight>
</syntaxhighlight>
سطر 79: سطر 64:


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة strstr()‎: البحث عن أوّل مطابقة لسلسلة نصية.
* الدالة <code>[[PHP/strstr|strstr()‎]]</code>: البحث عن أوّل مطابقة لسلسلة نصية.
* الدالة strrchr()‎:  البحث عن آخر مطابقة للحرف في سلسلة نصية.
* الدالة <code>[[PHP/strrchr|strrchr()‎]]</code>: البحث عن آخر مطابقة للحرف في سلسلة نصية.
* الدالة stripos()‎: العثور على أول مطابقة لسلسلة نصية فرعية غير حساسة لحالة الأحرف في سلسلة نصية.
* الدالة <code>[[PHP/stripos|stripos()‎]]</code>: العثور على أول مطابقة لسلسلة نصية فرعية غير حساسة لحالة الأحرف في سلسلة نصية.
* الدالة strpbrk()‎: البحث عن سلسلة لأي مجموعة من الأحرف.
* الدالة <code>[[PHP/strpbrk|strpbrk()‎]]</code>: البحث عن سلسلة لأي مجموعة من الأحرف.
* الدالة preg_match()‎: إجراء مطابقة عبر التعابير النمطية.
* الدالة <code>[[PHP/preg match|preg_match()‎]]</code>: إجراء مطابقة عبر التعابير النمطية.


== مصادر ==
== مصادر ==
* [http://php.net/manual/en/function.stristr.php صفحة الدالة stristr‎ في توثيق PHP الرسمي.]
* [http://php.net/manual/en/function.stristr.php صفحة الدالة stristr‎ في توثيق PHP الرسمي.]
[[تصنيف:PHP]]
[[تصنيف:PHP Function]]
[[تصنيف:PHP String]]

المراجعة الحالية بتاريخ 13:50، 9 أبريل 2018

(PHP 4, PHP 5, PHP 7)

الدالة stristr()‎ نسخة غير حساس لحالة الأحرف من الدالة strstr()‎.

الوصف

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

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

المعاملات

haystack

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

needle

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

before_needle

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

يُفْحَصُ المعاملان needle و haystack بطريقة غير حساسة لحالة الأحرف.

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

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

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

الإصدار الوصف
5.3.0 أضيف المعامل الاختياري before_needle.
4.3.0 أصبحتْ الدالة stristr()‎ آمنة ثنائية

أمثلة

المثال 1: مثال على الدالة stristr()‎

<?php
$email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'); // ER@EXAMPLE.com
echo stristr($email, 'e', true); // US بدءًا من الإصدار 5.3.0
?>

المثال 2: اختبار هل عُثِرَ على سلسلة نصية أم لا

<?php
$string = 'Hello World!';
if(stristr($string, 'earth') === FALSE) {
  echo '"earth" not found in string';
}
// "earth" not found in string
?>

المثال 3: استخدام المعامل needle وهو ليس "سلسلة نصية"

<?php
$string = 'APPLE';
echo stristr($string, 97); // 97 = lowercase a
// APPLE
?>

ملاحظات

هذه الدالة آمنة ثنائية.

انظر أيضًا

  • الدالة strstr()‎: البحث عن أوّل مطابقة لسلسلة نصية.
  • الدالة strrchr()‎: البحث عن آخر مطابقة للحرف في سلسلة نصية.
  • الدالة stripos()‎: العثور على أول مطابقة لسلسلة نصية فرعية غير حساسة لحالة الأحرف في سلسلة نصية.
  • الدالة strpbrk()‎: البحث عن سلسلة لأي مجموعة من الأحرف.
  • الدالة preg_match()‎: إجراء مطابقة عبر التعابير النمطية.

مصادر