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));

使用される正規表現は次の\(.*?\)とおりです。

  • (および)は、グループ化に使用される正規表現のメタ文字です。リテラルのparanthesisに一致させるには、それらの前に。を付けてエスケープする必要があります\
  • を使用して、括弧内の任意のテキストを一致させます.*?。を使用して同じことを行うこともできます[^)]*
  • .デフォルトでは、改行とは一致しません。改行に一致させるには、s修飾子を使用します。それがなければ、交換を行うことができません"(hello\nworld) Hi"
于 2010-11-22T12:41:35.690 に答える