+ -
当前位置:首页 → 问答吧 → 正则匹配alt的问题!!!!!!!!!!1

正则匹配alt的问题!!!!!!!!!!1

时间:2011-12-07

来源:互联网

要做一个给img加上alt的功能,
需要在后台处理一下,我要查询一篇文章中的所有<img />标签
并判断<img />标签里是否有alt属性,如果没有就给添加上alt
如果有alt,但是alt=''的话也要增加一个alt,这个怎么做啊,
求解!

作者: qiudong_5210   发布时间: 2011-12-07

C# code
    List<string> str_list = new List<string> { 
                "<img />",
                "<img alt=''/>",
                @" <img alt= />",
                @"<img alt=""""/>",
                @"<img alt='测试'/>",
                @"<img alt=""测试""/>",
            };
            string pattern = @"(?im)";
            for (int i=0;i<str_list.Count();i++)
            {
                if (!Regex.IsMatch(str_list[i], @"(?i)<img[^>]*?alt=(['""]?)[^\s/'""]+\1[^>]*>"))
                {
                    str_list[i] = Regex.Replace(str_list[i], @"(?i)(alt=(['""]?)\2)", "");//去除为空的alt
                    str_list[i] = Regex.Replace(str_list[i], @"(?i)(<img[^>]*?)(/?)>","$1 alt=\"弹出提示\" $2>");
                }
            }
            /*
                [0]    "<img  alt=\"弹出提示\" />"    string
                [1]    "<img  alt=\"弹出提示\" />"    string
                [2]    " <img   alt=\"弹出提示\" />"    string
                [3]    "<img  alt=\"弹出提示\" />"    string
                [4]    "<img alt='测试'/>"    string
                [5]    "<img alt=\"测试\"/>"    string
             */ 

作者: Return_false   发布时间: 2011-12-07