私は次の文字列を持っています:
OPEN誰かがこんにちはと言ったCLOSEimがこんにちは人々と言っているOPENいくつかがこんにちはと言ったOPEN彼らが再びこんにちはと言ったCLOSE私は今行かなければならないがCLOSE再びこんにちは!
helloのすべての出現箇所( OPENおよびCLOSEの単語で囲まれていない)を照合し、それらを別の単語に置き換えようとしています。おそらく、正規表現とPHPのpreg_replace
関数を使用します(ただし、他のメソッドを使用することはできません)。考えてみてください)。
したがって、上記の文字列から、以下が一致します(区別しやすいように、イタリック体の括弧で囲んでいます)。
OPEN誰かがこんにちはと言ったCLOSEim言っている(こんにちは)人々OPENいくつかが言ったこんにちはOPEN彼らは再びこんにちはと言ったCLOSE私はもう一度CLOSE (こんにちは)が行かなければならない!
これを行う方法がよくわかりません。
おそらくこれを編集すると、ネスト構造がより明確になります。
OPEN
text
CLOSE
OPEN
text
OPEN
text
CLOSE
text
CLOSE
上からわかるように、helloはOPEN ... CLOSE内にあるため(無視されます)、他のアレントは置き換えられるため、通知されません。