Удалить () из строки
$item = "(1) Robin Hood (hero)";
Текст в скобках можно изменить.
Как убрать все скобки с текстом внутри них из строки?
Мы должны получить это:
$item = "Robin Hood";
Спасибо!
1 ответ
Решение
Ты можешь использовать preg_replace
как:
$item = preg_replace('/\(.*?\)/s','',$item);
Похоже, вы также хотите удалить начальные и конечные пробелы после замены.
Вы можете использовать trim
для этого как:
$item = trim( preg_replace('/\(.*?\)/s','',$item));
Используемое регулярное выражение \(.*?\)
:
(
а также)
метасимволы регулярных выражений, используемые для группировки. Чтобы соответствовать буквальному парантезу, вам нужно избежать их, поставив перед ними\
,- Вы сопоставляете любой произвольный текст в скобках, используя
.*?
, Вы также можете сделать то же самое, используя[^)]*
.
по умолчанию не соответствует символу новой строки. Чтобы сделать соответствие новой строки, мы используемs
модификатор. Без этого мы не смогли бы сделать замену в"(hello\nworld) Hi"