从字符串中删除()

时间:2010-11-22 12:40:09

标签: php regex string brackets

$item = "(1) Robin Hood (hero)";

括号内的文字可以更改。

如何从字符串中删除其中包含文字的所有括号?

我们应该得到这个:

$item = "Robin Hood";

谢谢!

1 个答案:

答案 0 :(得分:6)

您可以将preg_replace用作:

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

您似乎还希望在替换后删除前导和尾随空格。
您可以使用trim作为:

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

使用的正则表达式是\(.*?\)

  • ()是正则表达式元字符 用于分组。要匹配文字 你需要逃避它们 在它们之前加上\
  • 您可以匹配任意文本 使用.*?括号。您 也可以使用[^)]*
  • 执行相同的操作 默认情况下,
  • .与a不匹配 新队。要匹配换行符 我们使用s修饰符。没有它 我们不会做替换 在"(hello\nworld) Hi"