生成静态页面中关键词添加超链的问题

gaopeng8 发布于 2013/05/21 09:52
阅读 266
收藏 0

最近工作中遇到如下问题,没有想到好的解决方法,请大家提供个思路,先行谢过!

如下问题:

生成静态页面时对后台设定的关键词添加超链,比如如下一段文字:

“开源中国 www.oschina.net 成立于2008年8月,是中国最大的开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国已收录超过两万款开源软件。”

要添加超链的关键字为“开源”和“开源中国”,只对第一个出现的关键词进行替换,我使用循环的replaceFirst来替换,问题来了:我要先对出现的长关键词加链接“开源中国”,加完成如下,

“<a href='http://www.oschina.net'>开源中国</a> www.oschina.net 成立于2008年8月,是中国最大的开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国已收录超过两万款开源软件。”

然后再进行开源”关键词的替换就出现如下情况:

“<a href='http://www.oschina.net'><a href='http://www.baidu.com'>开源</a>中国</a> www.oschina.net 成立于2008年8月,是中国最大的开源技术社区。我们传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国已收录超过两万款开源软件。”

如何判断关键词已包含在标签中就不再进行替换操作?

尝试用正则,但没有解决,请大家赐教!

加载中
0
梅开源
梅开源

做一个映射map,开源=>#wjdlajwldjlwd, 开源中国=>?23j213jo123oqqqwe 之类

然后把页面替换成不再包含“开源”而包含那两种乱码的。再把带链接带开源的html码替换乱码1,带链接带开源中国的替换乱码2

gaopeng8
gaopeng8
这是个不错的方法!我试试去,谢谢!
0
gaopeng8
gaopeng8

引用来自“傅秋霞”的答案

http://www.docin.com/p-82550529.html  希望能帮到你。
2)、保护一些文字和HTML代码。对于各类特殊用途的文字或字符,如HTML代码、已存在的链接文字、图片的alt文字、各DOM对象的title文字等进行保护处理,方法是按规则找到所有需保护字符存入数组后替换为识别用编号。
先找出标签替换掉并保存到数组,然后替换关键字后再替换回来!这种方法我在处理图片alt中和关键字用过<img alt='XXXXXX'>,但现在这个地方也用,我要每循环一个关键字,都要替换一遍,感觉太麻烦了!所以来求助大家,看看有没有便捷的思路!
0
gaopeng8
gaopeng8
大家都没有遇到过这种问题呀?
0
gaopeng8
gaopeng8
求指点!谢谢!
0
3_14159265359
3_14159265359
先对关键字排序 先添加小的 开源添加后 开源中国就不会添加了
0
3_14159265359
3_14159265359
哦 没看到说要先替换长的 如果先替换长的 我没想出什么好方法 貌似只能先找位置 再看找到的位置是不是在两个a标签之前来判断
0
gaopeng8
gaopeng8

引用来自“xichen”的答案

哦 没看到说要先替换长的 如果先替换长的 我没想出什么好方法 貌似只能先找位置 再看找到的位置是不是在两个a标签之前来判断
嗯,我也是想这么处理,可以判断在a标签中不知道怎么判断?正则好像也不好实现!
返回顶部
顶部