كيف يمكنك استخدام المراجع الخلفية لـ PCREs في PHP؟
سؤال
انا اقرأ هذا صفحة PHP RegEx, ، ولكن إما أنني أفتقد شيئًا ما، أو أخطئ في قراءة شيء ما، أو أن الأمر لا يعمل بالطريقة التي يقولونها.أظن أنه واحد من الأولين.
$str = preg_replace("([|]\d*)", "\1;", $str);
المحلول
يجب أن يتبع تعبيرك العادي بناء جملة Perl، مما يعني أنه يجب أن يبدأ وينتهي بنفس الحرف (مع بعض الاستثناءات).أيضًا، يجب أن يبدأ المرجع الخلفي بشرطة مائلة مزدوجة، للتغلب على الهروب المزدوج في PHP.يجب أن يعمل هذا (مع اختبار سريع):
$str = "asdfasdf |123123 asdf iakds |302 asdf |11";
$str = preg_replace("/([|]\d*)/", "\\1;", $str);
echo $str; // prints "asdfasdf |123123; asdf iakds |302; asdf |11;"
لا تنتمي إلى StackOverflow