利用字符串替换。

当关键词存在包含关系时,存在两种情况:

1. 短关键词优先

这种情况比较容易,将关键词进行排序,然后先替换短的关键词,不存在重复替换的问题

2. 常关键词优先

如果按照第一种情况的方法,会出现重复替换的问题。

例如:2个关键词“超级计算机”,"超级"

超级计算机替换为<a>超级计算机<a>

在进行超级替换就变为<a><a>超级</a>计算机</a>,很明显这错了。

一种解决办法:

将超级计算机替换为<a>md5("超级计算机")</a>

根据这种方法从长关键字开始替换。替换完成后。

在将md5(“超级计算机”)替换成“超级计算机”

大概思路就是这样。