正则如何取得或标签?

不懂必须要问 2011-06-10 01:29:37
有些不标准的,有些为什么连后边的<a></a>也取得了。还有其他标签。



<img src="http://www.arelong.com/a.jpg" /><a></a>
<img src='http://www.arelong.com/a.jpg'>
<img src="http://www.arelong.com/a.jpg" width="100" height="100" title="X" alt="image" /><p></p>
<img src="http://img3.laibafile.cn/getimgXXX/1/1/photo1/2011/6/8/middle/73478604_52188186_middle.jpg" onerror="this.style.display='none';">

...全文
175 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tan625747 2011-06-13
  • 打赏
  • 举报
回复
<img src="http://www.arelong.com/a.jpg" /><a></a>

<img.* src.*(/>|>|/img> 这个行不
hepeng_8 2011-06-11
  • 打赏
  • 举报
回复
docuent.getelementByName();
不行么
hch126163 2011-06-11
  • 打赏
  • 举报
回复
/<img.*?\/?>/gi 匹配img

/<img src=(?:\"|')([^\"']+)(?:\"|').*?\/?>/i 匹配src

var arr=[
'<img src="http://www.arelong.com/a.jpg" /><a></a>',
"<img src='http://www.arelong.com/a.jpg'>",
'<img src="http://www.arelong.com/a.jpg" width="100" height="100" title="X" alt="image" /><p></p>',
'<img src="http://img3.laibafile.cn/getimgXXX/1/1/photo1/2011/6/8/middle/73478604_52188186_middle.jpg" onerror="this.style.display=\'none\';">'
];

for(var i=0;i<arr.length;i++)
{
alert( arr[i].match(/<img.*?\/?>/i) +"\r\n" +arr[i].match(/<img src=(?:\"|')([^\"']+)(?:\"|').*?\/?>/i)[1]);
}
-过客- 2011-06-11
  • 打赏
  • 举报
回复
小数点可以匹配除换行符外的任意字符,你这里又使用的贪婪模式,它会尽可能多的匹配,所以会匹配到后面的<a></a>

//可以使用非贪婪模式
var reg = /<img.*?>/ig;
//但这样的匹配效率不如排除型的贪婪模式
var reg = /<img[^>]*>/ig;
fengyun817 2011-06-10
  • 打赏
  • 举报
回复
如果只匹配img那用 var reg = /<img\s*(.*?)\/?>/gm;就够了。
fengyun817 2011-06-10
  • 打赏
  • 举报
回复
这样?

<script type="text/javascript">

var str ='<img src="http://www.arelong.com/a.jpg" /><a></a>\n'+
'<img src=\'http://www.arelong.com/a.jpg\'>\n'+
'<img src="http://www.arelong.com/a.jpg" width="100" height="100" title="X" alt="image" /><p></p>\n'+
'<img src="http://img3.laibafile.cn/getimgXXX/1/1/photo1/2011/6/8/middle/73478604_52188186_middle.jpg" onerror="this.style.display=\'none\';">';
var reg = /<img\s*src=("|')?(.*?)\1\/?>/gm;

var match =str.match(reg);
for(i=0;i< match.length;i++)
{
alert(match[i]);
}
</script>
kadeer007 2011-06-10
  • 打赏
  • 举报
回复
什么叫在内容中获得??具体说下你要实现的效果~~
不懂必须要问 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kadeer007 的回复:]

HTML code
<img src='http://www.arelong.com/a.jpg' id="img1">


JScript code

$(function(){
var src = $('#img1').attr('src');
})


Jquery的方法来获得Src
[/Quote]

不是在DOM中获得,是在内容中。
不懂必须要问 2011-06-10
  • 打赏
  • 举报
回复
/(http[s]?|ftp):\/\/[^\/\.]+?\..+\w$/igm

像这个,不行啊。不相关的SRC也拿了,连<a>标签也能拿回来。
kadeer007 2011-06-10
  • 打赏
  • 举报
回复
<img src='http://www.arelong.com/a.jpg' id="img1">


$(function(){
var src = $('#img1').attr('src');
})

Jquery的方法来获得Src
不懂必须要问 2011-06-10
  • 打赏
  • 举报
回复
获得SRC也不太行。总是不相关的也获取回来了。

如果完全是SRC更好了。
kadeer007 2011-06-10
  • 打赏
  • 举报
回复
你是要获得img的src?? 还是要??

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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