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

من موسوعة حسوب
< PHP
لا ملخص تعديل
لا ملخص تعديل
 
سطر 2: سطر 2:
(PHP 5, PHP 7)
(PHP 5, PHP 7)


الدالة str_ireplace()‎ هي إصدار غير حساس لحالة الأحرف من الدالة str_replace()‎.
الدالة <code>str_ireplace()‎</code> هي إصدار غير حساس لحالة الأحرف من الدالة <code>[[PHP/str replace|str_replace()‎]]</code>.


== الوصف ==
== الوصف ==
<syntaxhighlight lang="php">
<syntaxhighlight lang="php">
mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
</syntaxhighlight>تعيد الدالة str_ireplace()‎ سلسلةً نصية أو مصفوفة مع تبديل كل حالات المعامل search في المعامل subject (مع تجاهل حالة الأحرف) إلى قيمة المعامل replace المعطاة. إذا كنت لا تحتاج إلى قواعد استبدال تستعمل التعابير النمطية فيجب عليك استخدام هذه الدالة عمومًا بدلاً من الدالة preg_replace()‎ مع المعدّل i.
</syntaxhighlight>تعيد الدالة <code>str_ireplace()‎</code> سلسلةً نصية أو مصفوفة مع تبديل كل حالات المعامل <code>search</code> في المعامل <code>subject</code> (مع تجاهل حالة الأحرف) إلى قيمة المعامل <code>replace</code> المعطاة. إذا كنت لا تحتاج إلى قواعد استبدال تستعمل التعابير النمطية فيجب عليك استخدام هذه الدالة عمومًا بدلاً من الدالة <code>[[PHP/preg replace|preg_replace()‎]]</code> مع المعدّل <code>i</code>.


== المعاملات ==
== المعاملات ==
إذا كان المعامل search والمعامل replace مصفوفتين، فإن str_ireplace()‎ تأخذ قيمة من كل مصفوفة وتستخدمها للبحث والاستبدال في المعامل subject. إذا كان المعامل replace يحتوي على قيم أقل من المعامل search ، فستستخدَم سلسلة نصية فارغة لبقية قيم الاستبدال. إذا كان المعامل search مصفوفةً والمعامل replace سلسلةً نصيةً، فستستخدَم  سلسلة الاستبدال هذه لكل قيمة من قيم المعامل search. ومع ذلك، فإن العكس ليس له معنى.
إذا كان المعامل <code>search</code> والمعامل <code>replace</code> مصفوفتين، فإن <code>str_ireplace()‎</code> تأخذ قيمة من كل مصفوفة وتستخدمها للبحث والاستبدال في المعامل <code>subject</code>. إذا كان المعامل <code>replace</code> يحتوي على قيم أقل من المعامل <code>search</code> ، فستستخدَم سلسلة نصية فارغة لبقية قيم الاستبدال. إذا كان المعامل <code>search</code> مصفوفةً والمعامل <code>replace</code> سلسلةً نصيةً، فستستخدَم  سلسلة الاستبدال هذه لكل قيمة من قيم المعامل <code>search</code>. ومع ذلك، فإن العكس ليس له معنى.


إذا كان المعامل search أو المعامل replace مصفوفتين، فستُعَالَج عناصرهما من العنصر الأوّل إلى العنصر الأخير.
إذا كان المعامل <code>search</code> أو المعامل <code>replace</code> مصفوفتين، فستُعَالَج عناصرهما من العنصر الأوّل إلى العنصر الأخير.


=== search ===
=== <code>search</code> ===
القيمة التي يُبحَث عنها، والمعروفة باسم الإبرة (needle). يمكن استخدام مصفوفة لضبط قيم متعددة.
القيمة التي يُبحَث عنها، والمعروفة باسم الإبرة (needle). يمكن استخدام مصفوفة لضبط قيم متعددة.


=== replace ===
=== <code>replace</code> ===
قيمة الاستبدال التي تحل محل قيم المعامل search التي عُثِرَ عليها. يمكن استخدام مصفوفة لتعيين بدائل متعددة.
قيمة الاستبدال التي تحل محل قيم المعامل <code>search</code> التي عُثِرَ عليها. يمكن استخدام مصفوفة لتعيين بدائل متعددة.


=== subject ===
=== <code>subject</code> ===
السلسلة أو المصفوفة التي يبحث عنها وتُسْتَبْدَل، والمعروفة باسم كومة القش (haystack).
السلسلة أو المصفوفة التي يبحث عنها وتُسْتَبْدَل، والمعروفة باسم كومة القش (<code>haystack</code>).


إذا كان المعامل subject مصفوفةً، فستجرى عملية البحث والاستبدال مع كل مَدْخَل للمعامل subject، وتصبح القيمة المعادة مصفوفة أيضًا.
إذا كان المعامل <code>subject</code> مصفوفةً، فستجرى عملية البحث والاستبدال مع كل مَدْخَل للمعامل <code>subject</code>، وتصبح القيمة المعادة مصفوفة أيضًا.


=== count ===
=== <code>count</code> ===
إذا مُرِّرَ المعامل count، فسيُعَيَّن بعدد عمليات الاستبدال التي نُفِّذَت.
إذا مُرِّرَ المعامل <code>count</code>، فسيُعَيَّن بعدد عمليات الاستبدال التي نُفِّذَت.


== القيم المعادة ==
== القيم المعادة ==
تعيد الدالة str_ireplace()‎ سلسلة نصية أو مصفوفة من الاستبدالات.
تعيد الدالة <code>str_ireplace()‎</code> سلسلة نصية أو مصفوفة من الاستبدالات.


== أمثلة ==
== أمثلة ==
المثال 1: مثال على الدالة str_ireplace()‎<syntaxhighlight lang="php">
المثال 1: مثال على الدالة <code>str_ireplace()‎</code><syntaxhighlight lang="php">
<?php
<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
echo $bodytag; // <body text=black>
echo $bodytag; // <body text=black>
?>
?>
</syntaxhighlight>
</syntaxhighlight>
سطر 45: سطر 42:
هذه الدالة هي آمنة ثنائيًا (binary-safe).
هذه الدالة هي آمنة ثنائيًا (binary-safe).


تحذير: طلب الاستبدال الخادع
تحذير: نظرًا لأنَّ الدالة <code>str_ireplace()‎</code> تجري عملية الاستبدال من اليسار إلى اليمين، فقد تستبدل قيمةً أُدْخِلَتْ مسبقًا عند إجراء عمليات استبدال متعددة. يوضح المثال رقم 2 في توثيق الدالة <code>[[PHP/str replace|str_replace()‎]]</code> كيف قد يحدث ذلك عمليًا.
 
نظرًا لأنَّ الدالة str_ireplace()‎ تجري عملية الاستبدال من اليسار إلى اليمين، فقد تستبدل قيمةً أُدْخِلَتْ مسبقًا عند إجراء عمليات استبدال متعددة. يوضح المثال رقم 2 في توثيق الدالة str_replace()‎ كيف قد يحدث ذلك عمليًا.


== انظر أيضًا ==
== انظر أيضًا ==
* الدالة str_replace()‎: تبديل كل حالات وقوع سلسلة البحث إلى سلسلة الاستبدال.
* الدالة <code>[[PHP/str replace|str_replace()‎]]</code>: تبديل كل حالات مطابقة سلسلة البحث إلى سلسلة الاستبدال.
* الدالة preg_replace()‎: إجراء عملية بحث واستبدال باستعمال التعابير النمطية (regular expressions).
* الدالة <code>[[PHP/preg replace|preg_replace()‎]]</code>: إجراء عملية بحث واستبدال باستعمال التعابير النمطية (regular expressions).
* الدالة strtr()‎: تحويل الأحرف أو استبدال سلاسل نصية فرعية.
* الدالة <code>[[PHP/strtr|strtr()‎]]</code>: تحويل الأحرف أو استبدال سلاسل نصية فرعية.


== مصادر ==
== مصادر ==

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

(PHP 5, PHP 7)

الدالة str_ireplace()‎ هي إصدار غير حساس لحالة الأحرف من الدالة str_replace()‎.

الوصف

mixed str_ireplace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

تعيد الدالة str_ireplace()‎ سلسلةً نصية أو مصفوفة مع تبديل كل حالات المعامل search في المعامل subject (مع تجاهل حالة الأحرف) إلى قيمة المعامل replace المعطاة. إذا كنت لا تحتاج إلى قواعد استبدال تستعمل التعابير النمطية فيجب عليك استخدام هذه الدالة عمومًا بدلاً من الدالة preg_replace()‎ مع المعدّل i.

المعاملات

إذا كان المعامل search والمعامل replace مصفوفتين، فإن str_ireplace()‎ تأخذ قيمة من كل مصفوفة وتستخدمها للبحث والاستبدال في المعامل subject. إذا كان المعامل replace يحتوي على قيم أقل من المعامل search ، فستستخدَم سلسلة نصية فارغة لبقية قيم الاستبدال. إذا كان المعامل search مصفوفةً والمعامل replace سلسلةً نصيةً، فستستخدَم  سلسلة الاستبدال هذه لكل قيمة من قيم المعامل search. ومع ذلك، فإن العكس ليس له معنى.

إذا كان المعامل search أو المعامل replace مصفوفتين، فستُعَالَج عناصرهما من العنصر الأوّل إلى العنصر الأخير.

search

القيمة التي يُبحَث عنها، والمعروفة باسم الإبرة (needle). يمكن استخدام مصفوفة لضبط قيم متعددة.

replace

قيمة الاستبدال التي تحل محل قيم المعامل search التي عُثِرَ عليها. يمكن استخدام مصفوفة لتعيين بدائل متعددة.

subject

السلسلة أو المصفوفة التي يبحث عنها وتُسْتَبْدَل، والمعروفة باسم كومة القش (haystack).

إذا كان المعامل subject مصفوفةً، فستجرى عملية البحث والاستبدال مع كل مَدْخَل للمعامل subject، وتصبح القيمة المعادة مصفوفة أيضًا.

count

إذا مُرِّرَ المعامل count، فسيُعَيَّن بعدد عمليات الاستبدال التي نُفِّذَت.

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

تعيد الدالة str_ireplace()‎ سلسلة نصية أو مصفوفة من الاستبدالات.

أمثلة

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

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
echo $bodytag; // <body text=black>
?>

ملاحظات

هذه الدالة هي آمنة ثنائيًا (binary-safe).

تحذير: نظرًا لأنَّ الدالة str_ireplace()‎ تجري عملية الاستبدال من اليسار إلى اليمين، فقد تستبدل قيمةً أُدْخِلَتْ مسبقًا عند إجراء عمليات استبدال متعددة. يوضح المثال رقم 2 في توثيق الدالة str_replace()‎ كيف قد يحدث ذلك عمليًا.

انظر أيضًا

  • الدالة str_replace()‎: تبديل كل حالات مطابقة سلسلة البحث إلى سلسلة الاستبدال.
  • الدالة preg_replace()‎: إجراء عملية بحث واستبدال باستعمال التعابير النمطية (regular expressions).
  • الدالة strtr()‎: تحويل الأحرف أو استبدال سلاسل نصية فرعية.

مصادر