我有以下字符串:替换OPEN和CLOSE字未包含的特定单词的所有出现?
OPEN有人说你好CLOSE即时消息说你好的人OPEN有的说 你好OPEN他们又打着招呼CLOSE我现在虽然去关闭你好!
我想匹配你好出现的所有(未封闭在OPEN和CLOSE的话),并用另一个词替换它们,可能与正则表达式和PHP的preg_replace
功能(尽管我对其他方法开放,我想不出任何)。
所以从上面的字符串下面将匹配(我已经把他们安置在括号内用斜体来帮助你区分):
OPEN有人说你好CLOSE即时消息说,(你好 )人OPEN有的说 你好OPEN他们又打着招呼CLOSE我现在得走了,虽然CLOSE(hello)!
不确定如何去做这件事。
编辑也许这将更好地阐明嵌套结构升技:
OPEN
text
CLOSE
OPEN
text
OPEN
text
CLOSE
text
CLOSE
正如你可以看到从上面的招呼没有被通知,因为其内打开... CLOSE(所以他们被忽略),而其他没有的将被替换。
如果有一个“你好”之前在最后关闭例如,你想要它匹配还是不匹配? – Amber
@Amber不匹配 – user962026
为什么OPEN' OPEN'中的那个没有改变?如果这是一个错误,那么我找到了一个方法来做到这一点,如果不是我需要理解改变我的脚本的理由。 – derp