将关键字加上对应链接(进行分析)
2007-12-04 15:11
190 查看
// 参数设置
var defKeyWord="十六大 | 出版社 | 波特的图书 | 国有 | 清醒 | 进行 | 全党| 面向";
//输入要替换的字符,字符间用 “ | ”分隔
var keyWordBegin = "记者从人"; //要替换内容的起始字符
var keyWordEnd = "据汤年"; //要替换内容的结束字符
/**//****************************/
var tagName = "body";
var aLLContent = document.getElementsByTagName(tagName).item(0).innerHTML;
var fileContent;
var headContent = "";
var endContent = "";
var locationOfKeyWordBegin = aLLContent.indexOf(keyWordBegin);
var locationOfKeyWordEnd = aLLContent.indexOf(keyWordEnd);
if (locationOfKeyWordBegin == -1 && locationOfKeyWordEnd == -1 && keyWordEnd != "" &&
keyWordBegin != "") ...{
}
else if (locationOfKeyWordBegin != -1 && locationOfKeyWordEnd != -1 && keyWordEnd != "") ...{
fileContent = aLLContent.substring(locationOfKeyWordBegin, locationOfKeyWordEnd +
keyWordEnd.length);
headContent
12735
= aLLContent.substring(0, locationOfKeyWordBegin);
endContent = aLLContent.substring(locationOfKeyWordEnd + keyWordEnd.length);
splitKeyWord(defKeyWord);
}
else if (keyWordEnd == "" || aLLContent.indexOf(keyWordBegin) != -1) ...{
fileContent = aLLContent.substring(locationOfKeyWordBegin);
headContent = aLLContent.substring(0, locationOfKeyWordBegin);
splitKeyWord(defKeyWord);
}
else if (keyWordBegin == "" && keyWordEnd == "") ...{
fileContent = aLLContent;
splitKeyWord(defKeyWord);
}
function splitKeyWord() ...{
var defChar=defKeyWord.split(" | ");
var keyWord;
var links;
var textFinished = new Array();
for (i = 0; i < defChar.length; i++)
...{
keyWord = defChar[i];
links = "<a href="html/jsoperators.asp?gjc=" + keyWord + "">" + keyWord +
"</a>";
fileContent = executeReplace(keyWord, links);
}
if (keyWordEnd == "") ...{
document.getElementsByTagName(tagName).item(0).innerHTML =
aLLContent.substring(0, aLLContent.indexOf(keyWordBegin)) + fileContent;
}
else ...{
document.getElementsByTagName(tagName).item(0).innerHTML =
aLLContent.substring(0, aLLContent.indexOf(keyWordBegin)) + fileContent +
aLLContent.substring(aLLContent.indexOf(keyWordEnd));
}
return;
}
function executeReplace(keyWord, links) ...{
var locationOfKeyWord;
var locationOfLinkEnd;
var stringOfChecked;
var locationOfStart = 0;
var lenOfkeyWord = keyWord.length;
var stringSaved = new Array();
var i = 0;
var endOfChecked;
var mark = 0;
while ((locationOfKeyWord = fileContent.indexOf(keyWord, locationOfStart)) !=
-1) ...{
stringOfChecked = fileContent.substring(locationOfKeyWord);
locationOfLinkEnd = stringOfChecked.toLowerCase().indexOf("</a>",
locationOfStart);
endOfChecked = stringOfChecked.indexOf(keyWord, links.length);
if (locationOfLinkEnd != -1) ...{
if (stringOfChecked.toLowerCase().indexOf('<a href') == -1) ...{
locationOfStart = locationOfKeyWord + lenOfkeyWord;
stringSaved[i] = stringOfChecked;
i = i + 1;
mark = 1;
continue;
}
else ...{
stringOfChecked = stringOfChecked.replace(keyWord,
links);
}
}
else ...{
stringOfChecked = stringOfChecked.replace(keyWord, links);
}
locationOfBegin = locationOfStart;
locationOfOld = locationOfKeyWord + lenOfkeyWord - 1;
locationOfStart = locationOfKeyWord + lenOfkeyWord;
if (endOfChecked == -1) ...{
stringSaved[i] = stringOfChecked;
}
else ...{
stringSaved[i] = stringOfChecked.substring(0, endOfChecked -
1);
}
if (i == 0) ...{
stringSaved[i] = fileContent.substring(0, locationOfKeyWord) +
stringSaved[i] ;
}
i = i + 1;
mark = 1;
}
if (mark == 0) ...{
return fileContent;
}
else ...{
return(stringSaved.join(''));
}
}
相关文章推荐
- 将关键字加上对应链接(不分析)
- (链接) AdaBoost中利用Haar特征进行人脸识别算法分析与总结
- XSLT2.0 从外部读取信息并分析生成对应文件.采用xsl:for-each-group进行排序输出
- Azure平台 对Twitter 推文关键字进行实时大数据分析
- 自定义uitableviewcell通过加上滑动手势进行删除对应的行。PS:用代理来实现
- 对一个利用短链接进行钓鱼行为的小小分析
- C++中成员变量加上static或const关键字后的分析
- C++中成员变量加上static或const关键字后的分析
- IOS安全–使用lldb对应用进行运行时分析
- Perl:分析页面,提取下载链接和文件对应的名称。
- C# URL中的http链接进行分析,将相对路径转换为绝对路径 源代码
- 怎么把js获得的list数据加上链接定向显示在HTML中,并且点击对应内容会访问链接内容
- javascript对链接进行动态处理化
- 利用NABCD模型进行竞争性需求分析
- linphone-LinphoneAddressImpl文件对应的JNI层文件分析
- 2.利用NABCD模型进行竞争性需求分析
- 团队项目作业第二项:利用NABCD模型进行竞争性需求分析
- 【分析】通过覆盖__atexit进行缓冲区溢出攻击的补充
- Vs2005之简单日志工具的制作--2.根据功能分析进行系统设计
- 团队项目作业:利用NABCD模型进行竞争性需求分析