我需要用长串替换大量的单词和短语,单词和短语可能会重复多次。
我已经成功构建了一个preg_replace()
数组,它的效果非常好。唯一的问题是我想要替换的单词和短语列表是重叠的,例如:
"酸" ---> " replacement1"
"轻酸" - > " replacement2"
它让preg_replace
抱怨,因为"酸"两者都存在,这并不奇怪。
问题:如何构建一个合适的函数来替换我的场景中的单词和短语?
答案 0 :(得分:1)
按照长度预先排列替换模式并向下应用。这样,较长的字符串将首先被替换。因此,其中任何包含的子字符串都不能被其他更短的替换规则意外替换。