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

括号内的文本可以更改。

如何从字符串中删除所有带有文本的括号?

我们应该得到这个:

$item = "Robin Hood";

谢谢!

4

1 回答 1

6

您可以preg_replace用作:

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

看起来您还想在替换后删除前导和尾随空格。
您可以将trim其用作:

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

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

  • (并且)是用于分组的正则表达式元字符。要匹配文字括号,您需要在它们前面加上\.
  • 您可以使用 . 匹配括号之间的任意文本.*?。您也可以使用[^)]*
  • .默认情况下不匹配换行符。为了匹配换行符,我们使用s修饰符。没有它,我们将无法进行替换"(hello\nworld) Hi"
于 2010-11-22T12:41:35.690 回答