Как удалить определенное слово в скобках в PHP?

У меня есть строка:

"Здравствуйте, меня зовут бла-бла (до свидания) (привет) (упс)"

Как мне удалить "(привет)", но оставить два других слова в скобках?

Я делаю это прямо сейчас в PHP, но он удаляет ВСЕ вхождения скобок и все внутри них. Я хочу нацелиться на конкретное слово, затем убрать слово и окружающие его скобки.

$newName= trim(preg_replace('/\s*\([^)]*\)/', '', $name));

2 ответа

Решение

Не используйте регулярные выражения для такой простой операции

$newName = trim(str_replace("(hello)", "", $name));

чтобы удалить больше значений, вам даже не нужно использовать str_replace несколько раз, просто передайте массив первому аргументу

$remove = array(
    "(oops)",
    "(hello)"
); 
$newName = trim(str_replace($remove, "", $name));

Вы можете попробовать что-то вроде этого:

$toDelete = array("(hello)", "(bye)");

$neName = trim(str_replace($toDelete, "", $name));

Это удалит все (привет) и (пока) в тексте. Вы можете добавить столько, сколько хотите.

Другие вопросы по тегам