当前位置: 首页 > 图文教程 > 网络编程 > ASP > 一个为字符串中的网址加上链接的程序例子

ASP
一个ASP版的图片浏览管理器
无组件上传图片至SQLSERVER数据库
利用Jmail.Message发送邮件
用Web页面执行客户端程序
多图片上传到指定的目录并存到数据库
dreamweaverMX通用分页代码研究
下拉菜单输入,根据输入内容自动定位
中文的无组件文件上传ASP函数
一个利用adsi得到局域网信息的asp文件
根据需要动态include不同的文件
让自定义文件下载支持断点续传
用数组实现数据记录的批量录入方法
上传的进度条 实时反映上传情况
用ASP动态生成javascript的表单验证代码
ASP 编程中20个非常有用的例子
ASP生成Word文档的又一方法
用asp解析图片地址,并将其保存。
利用ASP的文件操作实现用户管理
创建 Visual Basic COM 组件在 ASP 中使用
调试 ASP 中使用的 Visual Basic COM 组件

ASP 中的 一个为字符串中的网址加上链接的程序例子


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 37 ::
收藏到网摘: n/a

  我们有时候可能会有这样的要求,如果我们输入了一段带有链接的文字,如:“ 今天,我访问了中央电视台的网站:http://www.cctv.com ”那么,我们希望能自动为我们的“http://www.cctv.com”这几个字符加上链接,事实上,很多网站都有这个功能,因此,阿余也试着写了一段这样的小程序,一个可以用来方便大家,另一个也可以为初学者提供一点源代码,所以,代码的过程阿余尽可能的写得简单易懂,所以有的地方看起来就有一点罗索了。当然,高手看了就要给阿余提点意见了。阿余的站在:http://www.zydn.net/index.asp 欢迎高手们批评指正.

     好了。下面介绍一下这个程序的基本思路

1. 首先,找出一段文字中有哪一些链接,把它们存于数组中

2.找出们在文本中的位置,把它们存放于数组中.

3.根据这些位置,把一整段文本分成一个个的小段,以便在中间插入链接.

4.在中间插入链接,并把这一段段的文本组合起来.

好了,基本思想就是这样,其实前面的3步完全可以合在一起完成的,但为了程序容易看懂,我就把它们分开了.

为了方便使用,我把它们做成了一个子函数,并顺便起了个名字叫CTOU()

用法:

1 把下面的代码复制到文件的任何一个位置,

2 如要把存于变量 MYDOC中的字符加上链接,就用MYDOC=CTOU(MYDOC)就行了.

代码如下:

Function CTOU(MYCH)
On Error Resume next
TE1=MYCH
IF INSTR(TE1,"_bLaNk")=0 THEN
TE2=LCASE(TE1)
zcd=len(te2)
dim star(100),myend(100),myurl(100),te3(100,2)
for i=1 to 100
  CD=LEN(TE2)
  STA=INSTR(TE2,"http://")
  if sta=0 then
    STAR(I)=ZCD+1
    exit for
  END IF
  urla=mid(te2,sta,50)
  urcd=instr(urla," ")
  if urcd=0 then urcd=instr(urla," ")
  if urcd=0 then urcd=instr(urla,"<br>")
  if urcd=0 then urcd=instr(urla,chr(34))
  if urcd=0 then urcd=instr(urla,"'")
  if urcd=0 then urcd=50
  myurl(i)=mid(te2,sta,urcd-1)
  MYEN=STA+URCD
  if myen >= CD then exit for
  te2=right(te2,CD-myen+2)
next
'以上一段找出有哪一些URL
TE2=LCASE(TE1)
FOR II=1 TO I
IF MYURL(II)<>"" THEN

   STAR(II)=INSTR(TE2,MYURL(II)&" ")
   IF STAR(II)=0 THEN    STAR(II)=INSTR(TE2,MYURL(II)&" ")
   IF STAR(II)=0 THEN    STAR(II)=INSTR(TE2,MYURL(II)&"<br>")
   IF STAR(II)=0 THEN    STAR(II)=INSTR(TE2,MYURL(II)&chr(34))
   IF STAR(II)=0 THEN    STAR(II)=INSTR(TE2,MYURL(II)&"'")
   IF STAR(II)=0 THEN    STAR(II)=INSTR(TE2,MYURL(II))
   MYEND(II)=STAR(II)+LEN(MYURL(II))
END IF
NEXT
'以上一段找出这些URL的开始和结束位置
TE2=TE1
for i1=1 to i
  if i1=1 then
     te3(i1,1)=mid(te2,1,star(i1)-1)
  else
     te3(i1,1)=mid(te2,myend(i1-1),star(i1)-myend(i1-1))
  end if
  te3(i1,2)=mid(te2,star(i1),len(myurl(i1)))
next
'以上一段把原来的字符串分成一个小的小段以便插入链接
for ii=1 to i
IF MYURL(II)<>"" THEN
  newte=newte&te3(ii,1)   &"<a target='_bLaNk' href='"&te3(ii,2)&"'>"&te3(ii,2)&"</a>"
ELSE
  newte=newte&te3(ii,1)   
END IF
next
'以上一段插入链接
  CTOU=NEWTE
ELSE
  CTOU=TE1
END IF
END Function