سؤال

<?php     
$value='A';
    if(preg_match("/|/",$value)){
        echo 'This is no good!';
    }
    else{
        echo 'Works';
    }
?>

إذا قمت بتنفيذ الكود أعلاه ، يمكنك رؤية أن preg_match() لا يعمل بينما ليس لدي | أو خط الأنابيب في المتغير.

لماذا لا يعمل preg_match مع حرف واحد أو حرف خط أنابيب؟

هل كانت مفيدة؟

المحلول

شخصية الأنابيب العمودية (|) له معنى خاص عند استخدامه داخل تعبير منتظم. يتم استخدامه لتحديد البدائل في تعبير منتظم. تحتاج إلى الهروب بشكل صحيح إذا كنت ترغب في مطابقة الحرفي | حرف:

if(preg_match("/\|/",$value)){
    # code ...
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top