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

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

(PHP 4, PHP 5, PHP 7)

تقتبس الدالة preg_quote()‎‎ حروف التعبير النمطية.

وصف

string preg_quote ( string $str [, string $delimiter = NULL ] )

تأخذ الدالة preg_quote()‎‎ السلسلة النصية str وتضع شرطة مائلة عكسية "\" أمام كل حرف يكون جزءًا من بناء جملة التعبير النمطي. وهو أمرٌ مفيد إذا كان لديك سلسلة نصية في زمن التشغيل، والتي تحتاج إلى مطابقتها داخل نصٍ ما، وقد تحتوي السلسلة النصية على أحرف التعابير النمطية الخاصة.

وأحرف التعبير النمطي الخاصة هي: \ + * ? [ ^ ] $ ( ) { } = ! < > | : -

لاحظ أن "/" ليست من أحرف التعبير النمطي الخاصة.

ملاحظة: لاحظ أنه ليس من المفترض تطبيق preg_quote()‎‎ على سلسلة (سلاسل) ‎$replacement النصية للدالة preg_replace()‎‎.

المعاملات

str

السلسلة النصية المُدخلة.

delimiter

إذا حُدد المعامل الاختياري delimiter، فستتخطاه الدالة. ويفيد ذلك في تخطي الفاصل المطلوب من دوال PCRE. وتُعد الشرطة المائلة "/" هي الفاصل الأكثر استخدامًا.

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

تُعيد هذه الدالة السلسلة النصية المقتبسة أو المُهرَّبة.

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

الإصدار الوصف
5.3.0 يمكن الآن اقتباس حرف الشرطة "-"

أمثلة

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

<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // returns \$40 for a g3\/400
?>

المثال 2: إمالة كلمة داخل نص ما في هذا المثال، يتم استخدام preg_quote($word)‎ لمنع النجوم * من أن يكون لها معنى خاص للتعبيرات النمطية.

<?php
$textbody = "This book is *very* difficult to find.";
$word = "*very*";
$textbody = preg_replace ("/" . preg_quote($word, '/') . "/",
                          "<i>" . $word . "</i>",
                          $textbody);
?>

ملاحظات

ملاحظة : هذه الدالة آمنة ثنائيًا.

انظر أيضًا

مصادر