Вы можете использовать preg_replace
как:
$item = preg_replace('/\(.*?\)/s','',$item);
Похоже, вы также хотите, чтобы удалить начальные и конечные пробелы после замены.
Вы можете использовать trim
для этого, как:
$item = trim(preg_replace('/\(.*?\)/s','',$item));
Регулярное выражение используется \(.*?\)
:
(
и )
являются регулярные выражения мета-символы , используемые для группировки. Чтобы сопоставить литерал paranthesis, вам необходимо сбежать от них , предшествуя их \
.
- Вы сопоставляете произвольный текст между скобкой с помощью
.*?
. Вы также могли бы сделать то же самое с помощью [^)]*
.
по умолчанию не соответствует новой строке. Чтобы сделать соответствие новой строке , мы используем модификатор s
. Без этого мы не в состоянии сделать замену в "(hello\nworld) Hi"
какова разница между вашим и раствором stillstanding в? – James
@Happy: Я обновил сообщение. – codaddict
Почему '. *?'? Разве не просто «. *» Будет работать так же хорошо? ('.' соответствует любому символу,' * 'повторяет спецификатор ноль или более раз, а затем'? ', чтобы соответствовать тому, существуют ли эти ноль или более любых символов.) –