preg_repalce соответствует частичным данным с правильным регулярным выражением

$str = abc; $str = preg_replace("/a|b|c\","" $str); 

выше regex, только совпадающие a, b и c исключаются. Сначала я подумал, что это было вызвано проблемой gobal, но после исследования preg_match сам по умолчанию включен глобально. Так что же на самом деле случилось не так?

Вам понадобятся кавычки вокруг вашей строки:

 $str = "abc"; 

… запятая между вашим заменяющим текстом и источником, и переверните свою закрывающуюся регрессию RegEx, чтобы она соответствовала вашему открытию:

 $str = preg_replace("/a|b|c/", "", $str); 

Это оставит $ str установленным в [пробел] [пробел]

Регулярное выражение должно быть заключено в разделители. Разделителем может быть любой символ, не являющийся буквенно-цифровым, без обратного слэш-символа. Обычно вы используете / который должен быть в начале и в конце строки регулярного выражения.

Также строка в php должна быть заключена в " или ' .

Наконец, в функции preg_replace отсутствует запятая.

 $str = "abc"; $str = preg_replace("/a|b|c/", "", $str);