0

私は文字列を持っています:

「こんにちは、私の名前は何とかです(さようなら)(こんにちは)(おっと)」

"(hello)" を削除し、残りの 2 つの角かっこで囲まれた単語を残すにはどうすればよいですか?

私は今PHPでこれを行っていますが、括弧のすべての出現とその中のものをすべて削除します。特定の単語をターゲットにして、その単語と周囲の括弧を削除したい。

$newName= trim(preg_replace('/\s*\([^)]*\)/', '', $name));
4

2 に答える 2

8

そのような簡単な操作に正規表現を使用しないでください

$newName = trim(str_replace("(hello)", "", $name));

より多くの値を削除するには、str_replace を複数回使用する必要さえありません。配列を最初の引数に渡すだけです。

$remove = array(
    "(oops)",
    "(hello)"
); 
$newName = trim(str_replace($remove, "", $name));
于 2012-03-27T11:03:23.690 に答える
1

あなたはこのようなことを試すことができます:

$toDelete = array("(hello)", "(bye)");

$neName = trim(str_replace($toDelete, "", $name));

これにより、テキスト内のすべての(hello)と(bye)が削除されます。いくつでも追加できます。

于 2012-03-27T11:06:32.890 に答える