散分100:求个字符串检索函数!

enxi 2003-12-26 12:07:20
问题背景:我现在作了个html编辑器,里面可以加入图片,编辑后的内容要放到服务器,但图片不好处理,网上流行的办法是先上传图片,再将该图片放入编辑器中编辑。我想在编辑时不上传,在提交时做一个这样的动作:将所编辑的内容在本地形成一个html文件,假设在本地有个临时目录C:\tempdir,则该html文件假设存为A.htm,用到的图片假设存为同目录的A.files文件夹中。然后将A.html文件和A.files一起上传到服务器。(这个上传我已有成功例子,大家不用担心)现在我关心的是如何收集html中用到的图片。所以我就要用到这个函数:检索编辑器中文本的所有本地图片的位置。
问题要求:
假设编辑html内容为:
.....<P>fdsfdsfd<IMG src="C:\Documents\My Pictures\1_1.jpg" width=667 border=0>fdsfds</P><P><IMG src="C:\Documents\sf_2003111295942.jpg"fdsfdsf</P>...
我要从中得到
C:\Documents\My Pictures\1_1.jpg
C:\Documents\sf_2003111295942.jpg
如果是网络链接则无需找出来!我知道正则表达式可以的,但我不太会.
大家如果还有更好的办法解决我的问题,希望能指点。
...全文
30 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jz_bnx 2003-12-26
  • 打赏
  • 举报
回复
学习
dafei0320 2003-12-26
  • 打赏
  • 举报
回复
正则表达式好象很难-
那么多怪符号?!?!~!?~?!
snowcloud2002 2003-12-26
  • 打赏
  • 举报
回复
使用正则表达式
Function GetImgUrl(RTF)
set rs = new regexp
rs.pattern="^src=\"(.*)\"\b"
TmpStr=re.replace(RTF,Mid(RTF,4,Len(RTF))
GetImgUrl=TmpStr
End function

结果就是src=引号中的文本
Jaron 2003-12-26
  • 打赏
  • 举报
回复
strContent = "yourhtml"
Set objRegExp = New RegExp
objRegExp.IgnoreCase = True
objRegExp.Global = True
objRegExp.Pattern = "<img.+?>"
Set matches = objRegExp.Execute(strContent)
For Each Match In matches
response.write Match.Value
response.write "<br>"
Next
Set objRegExp = nothing
enxi 2003-12-26
  • 打赏
  • 举报
回复
我希望用vbscript写这个函数,谢谢。
Jaron 2003-12-26
  • 打赏
  • 举报
回复
<script>
var img = "<img src=\"images/icon/team2.gif\">cc<img sRc=\"images/icon/sendexp.gif\">"
var pattern = /<[iI][mM][gG]([^>]*[^/>])/ig
var myArray = img.match(pattern);
for(i=0;i<myArray.length;i++) {
document.write (i + "=" + myArray[i] + "<br>")
document.write ("<textarea>" + myArray[i] + "</textarea><br>")
}
</script>

hermit2003 2003-12-26
  • 打赏
  • 举报
回复
关注,学习~!
enxi 2003-12-26
  • 打赏
  • 举报
回复
伯虎兄,我试了,好像不行啊
Jaron 2003-12-26
  • 打赏
  • 举报
回复
var img = "yourhtml"
var pattern = /<IMG.*?src=\"(.*?)\"[^>]*?>/ig;
var myArray = pattern.exec(img);
for(var i=0;i<myArray.length;i++)
document.writeln(i+" = "+myArray[i]+"<br/>");

document.write(pattern.rightContext);
enxi 2003-12-26
  • 打赏
  • 举报
回复
To: Jaron(唐伯虎点蚊香) , snowcloud2002(忧郁の蓝)
麻烦用js写个,我本来打算在vb里写,现在发现vb不支持了。

28,407

社区成员

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

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