$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);