我有以下字符串:
OPEN有人打招呼CLOSE我正在打招呼人们OPEN有人打招呼OPEN他们再次打招呼CLOSE我现在得走了 虽然CLOSE又打招呼了!
我正在尝试匹配所有出现的hello(未包含在OPEN和CLOSE单词中)并将它们替换为另一个单词,可能使用正则表达式和 PHP 的preg_replace
函数(尽管我对其他方法持开放态度,因为我不能随便想想)。
因此,从上面的字符串中,以下内容将匹配(我将它们放在带有斜体的括号中以帮助您区分):
OPEN有人打招呼CLOSE我在打招呼(你好 )人们OPEN有人打招呼OPEN他们又打招呼了
不知道该怎么做。
编辑也许这会更好地阐明嵌套结构:
OPEN
text
CLOSE
OPEN
text
OPEN
text
CLOSE
text
CLOSE
正如你从上面看到的,你好没有被注意到,因为它在 OPEN...CLOSE 中(所以它们被忽略了),而其他的则不会被替换。