كيف يمكنني الحصول على التطابقات عند استخدام preg_replace في PHP؟
-
08-06-2019 - |
سؤال
أحاول الحصول على الأحرف الكبيرة من بضع كلمات ولفها في علامات الامتداد.انا استخدم preg_replace لأغراض الاستخراج والتغليف، لكنه لا يخرج أي شيء.
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
المحلول
تحتاج إلى وضع النمط بين قوسين /([A-Z])/
, ، مثله:
preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
نصائح أخرى
\0
سيطابق أيضًا التعبير المطابق بالكامل دون إجراء التقاط صريح باستخدام الأقواس.
preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)
كما هو الحال دائما، يمكنك الذهاب إلى php.net/preg_replace أو php.net/<مهما كان مصطلح البحث> للبحث في الوثائق بسرعة.اقوال الوثائق:
يشير \0 أو $0 إلى النص المطابق للنمط بأكمله.
من وثائق preg_replace على php.net:
إستبدال قد تحتوي على مراجع من النموذج n أو (منذ PHP 4.0.4) $ n ، مع النموذج الأخير هو النموذج المفضل.سيتم استبدال كل مرجع بهذا النص الذي تم التقاطه بالنمط غير الأقواس.
انظر مثال فلوبا.
استخدم الأقواس حول الالتقاط المطلوب.
لا تنتمي إلى StackOverflow