Удалить () из строки - PullRequest
       2

Удалить () из строки

1 голос
/ 22 ноября 2010
$item = "(1) Robin Hood (hero)";

Текст в скобках можно изменить.

Как убрать из строки все скобки с текстом внутри них?

Мы должны получить это:

$item = "Robin Hood";

Спасибо!

1 Ответ

6 голосов
/ 22 ноября 2010

Вы можете использовать preg_replace как:

$item = preg_replace('/\(.*?\)/s','',$item);

Похоже, вы также хотите удалить начальные и конечные пробелы после замены.
Вы можете использовать trim для этого как:

$item = trim( preg_replace('/\(.*?\)/s','',$item));

Используемое регулярное выражение: \(.*?\):

  • ( и ) являются метасимволами регулярных выражений используется для группировки. Чтобы соответствовать буквальному парантез вы должны избежать их предшествуя им \.
  • Вы соответствуете любому произвольному тексту между скобка с помощью .*?. Вы можно также сделать то же самое, используя [^)]*
  • . по умолчанию не соответствует новая линия. Чтобы это соответствовало новой строке мы используем модификатор s. Без этого мы не сможем сделать замену в "(hello\nworld) Hi"
...