一个替换的问题,求高手帮助。

7xin 2009-06-15 08:46:36
是这样的,一个文章内容里面:

<a href="http://www.asdfasdf.com/aadsfasd/aaa.htm?id=6" target="_blank">大王</a>中青年人民啊乱七八糟的<a href="http://www.163.com/register/new.asp?id=7" target="_blank">小青年</a>写点什么

现在是需要替换其中的多个链接,以“大王”为查询关键字,就把大王的链接替换成http://www.g.cn

以 “小青年”为查询关键字,就把小青年的链接替换成http://www.baidu.com ,因为里面有很多链接,都需要用关键字这种方式来替换。

最后看到的结果是:

<a href="http://www.g.cn" target="_blank">大王</a>中青年人民啊乱七八糟的<a href="http://www.baidu.com" target="_blank">小青年</a>写点什么

请高人帮写一下这段asp代码吧。
...全文
41 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
7xin 2009-06-15
  • 打赏
  • 举报
回复
唉,结贴吧,最后还是用js实现,必定对asp不是太熟悉。对java还熟悉一些。

把实现的代码也写下吧。

1.用new_keywords.asp读取数据库生成var strCont = "大王|http://www.g.com,小青年|http://www.baidu.com";

2.在显示文件的html文件</body>前,添加

<SCRIPT type="text/javascript" src="/admin/Article/new_keywords.asp"></SCRIPT>
<script>
replaceKeywords();
function replaceKeywords()
{
var str;
var arrayTmp = strCont.split(",");
//得到链接数
var a_length = document.getElementById("content").getElementsByTagName("A").length;
for(i=0;i<arrayTmp.length;i++)
{
var lineTmp = arrayTmp[i];
var aTmp1 = lineTmp.split("|");
for(t=0;t<a_length;t++)
{
if (aTmp1[0] == document.getElementById("content").getElementsByTagName("A")[t].innerHTML)
{
document.getElementById("content").getElementsByTagName("A")[t].href = aTmp1[1];
break;
}
}
}
}
</script>

7xin 2009-06-15
  • 打赏
  • 举报
回复
这个得用asp实现,因为是查询数据库的文章内容。不能用javascript来实现。
7xin 2009-06-15
  • 打赏
  • 举报
回复
应该是要用到正则表达式才行,哎,高手们,帮忙下啊。
郭大侠_ 2009-06-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gsh945 的回复:]
VBScript codereplace(str,str1,str2)
将str中的str1替换成str2
[/Quote]

不好意思,这个不能这么做,我看错了
william3033 2009-06-15
  • 打赏
  • 举报
回复
asp的不会,JS我会。。
就是遍历a链接,判断他的innerText中是否包含大王,包含就把它的href属性替换成你想要的。小青年同理。
郭大侠_ 2009-06-15
  • 打赏
  • 举报
回复
replace(str,str1,str2)

将str中的str1替换成str2

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧