文章内容:
不多说了,直接上图片了,让大家看个够!<BR><BR><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712876_.jpg" border=0><BR><BR><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712970_.jpg" border=0><BR><BR><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114713952_.jpg" border=0><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712876_.jpg" border=0>
<IMG alt=:lol src="http://group.baa.com.cn/bbs/usercontrol2/editor/images/smilies/lol.gif" border=0 smilieid="12">
<img src="http://www.163.com/123.jpg">
<img>求一能正确匹配出所有图片,但是像<IMG alt=:lol src="http://group.baa.com.cn/bbs/usercontrol2/editor/images/smilies/lol.gif" border=0 smilieid="12">这类图片(表情图片)不算图片
我写的正则是:<img[^<]*[^smilies][^>]*>但是不能正确的匹配
不多说了,直接上图片了,让大家看个够!<BR><BR><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712876_.jpg" border=0><BR><BR><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712970_.jpg" border=0><BR><BR><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114713952_.jpg" border=0><IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712876_.jpg" border=0>
<IMG alt=:lol src="http://group.baa.com.cn/bbs/usercontrol2/editor/images/smilies/lol.gif" border=0 smilieid="12">
<img src="http://www.163.com/123.jpg">
<img>求一能正确匹配出所有图片,但是像<IMG alt=:lol src="http://group.baa.com.cn/bbs/usercontrol2/editor/images/smilies/lol.gif" border=0 smilieid="12">这类图片(表情图片)不算图片
我写的正则是:<img[^<]*[^smilies][^>]*>但是不能正确的匹配
解决方案 »
- JS判断select
- 急!ExtJs的GridPanel不显示数据的问题
- 用DIV+CSS+js做一个三行三列的页面
- 如何修改该代码,打开子窗口却覆盖了父窗口
- 请问下能否修改iframe src嵌入的其他页面的对象?
- 如何判断一个字符串中有点存在?谢谢
- 应该是小问题啦,如在不知道ID或Name的情况下何引用input 中的元素?
- 怎么实现IMB 的 SameTime 的主页面的效果?急急急!!!
- 如何使用javascript实现不出现对话框保存当前网页?解决后定重谢!
- 写javaweb时,datatable样式显示不出来,并且在浏览器控制台报jQuery的错误
- 怎样用JAVASCRIPT防止用户下载附件?
- 这样的广告怎么写的?拜求!
图片是个很BT的东西用这个式子匹配图片
/<img(?:"[^"]*"|'[^']*'|[^"'>]+)*>/ig;
如果alt的位置固定可以直接
/<img(?!\s+alt=(?:\:lol)\s+)(?:"[^"]*"|'[^']*'|[^"'>]+)*>/ig;
如果alt的位置不固定则分两次匹配用上面的那个式子。。
然后在test里面是否有alt //注意分两次匹配主要是怕属性里包含alt=xxx,这样严谨一些飘走
<textarea>
<BR> <BR> <IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712876_.jpg" border=0>
<BR> <BR> <IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712970_.jpg" border=0> <BR> <BR>
<IMG src="http://pic.baa.com.cn/picser/2007-11-12/114713952_.jpg" border=0> <IMG src="http://pic.baa.com.cn/picser/2007-11-12/114712876_.jpg" border=0>
<IMG alt=:lol src="http://group.baa.com.cn/bbs/usercontrol2/editor/images/smilies/lol.gif" border=0 smilieid="12">
<img src="http://www.163.com/123.jpg">
<img>
</textarea>
<script type="text/javascript">
var p = /<img(?!\s+alt=(?:\:lol)\s+)(?:"[^"]*"|'[^']*'|[^"'>]+)*>/ig;
window.onload = function () {
var t = document.getElementsByTagName("textarea")[0];
alert(t.value.match(p).join("\n"));
};
</script>
var inputstr = "HTML字符串";
var re = /<img(?![^>]*?alt\s*=\s*["']?:lol["']?)[^>]*>/ig //所有不带alt=:lol的图片
var re1 = /<img(?=[^>]*?alt\s*=\s*["']?:lol["']?)[^>]*>/ig //所有带alt=:lol的图片
if(re.test(inputstr))alert(inputstr.match(re).length);//匹配到的不带alt=:lol的图片的个数
if(re1.test(inputstr))alert(inputstr.match(re1).length);//匹配到的带alt=:lol的图片的个数
var str1 = inputstr.replace(re,"");//删除所有不带alt=:lol之后的HTML
var str1 = inputstr.replace(re1,"");//删除所有带alt=:lol之后的HTML