因为要仿照wordpress一个图片Seo功能,就是在前台输出页面时候,通过编辑器FCK上传的图片,动态加上title,alt其中%title对应标题,我前台新闻详细页面代码中,有一个图片:
 <p>
        这是一个新闻详细页面
<img alt="" src="/ImgUpload/images/Awards%20-%20K2.png" style="width: 1280px; height: 699px; " /></p>我前台,如何用正则表达式,匹配到这个内容里面所以的图片,然后动态的将图片alt改成%title,还有一点,如果这个图片alt里面有内容,我就不需要替换,如果再给图片加一个 title='title' 这个属性,应该怎么做,?高手们,集思广益,多给点想法,和做法,不甚感激。

解决方案 »

  1.   

    yourhtml=Regex.Replace(yourhtml,@"(?is)(?<=<img\b[^>]*?alt=(['""]?))(?=\1\s)","%title");
      

  2.   

    替换            System.IO.StreamReader reader = new System.IO.StreamReader("e:\\1.txt");
                string str = reader.ReadToEnd();
                Regex reg = new Regex(@"(?is)(?<=<img[^>]*?)alt=.*?(?=src=[^<]*?/>)");
                Match m = reg.Match(str);
                str = reg.Replace(str, "alt=%title ");
      

  3.   

                string str = @"<p>
            这是一个新闻详细页面
        <img alt="""" src=""/ImgUpload/images/Awards%20-%20K2.png"" style=""width: 1280px; height: 699px; "" />
        <img alt=""IMGALT"" src=""/ImgUpload/images/Awards%20-%20K2.png"" style=""width: 1280px; height: 699px; "" /></p>";
                string result = Regex.Replace(str, @"(?is)(?<=<img[^>]*?alt=(['""]))(?=\1)", "%title");
                result = Regex.Replace(result, @"(?is)(?<=<img\b)", " title=\"title\"");
                Console.WriteLine(result);
      

  4.   

    你们说的意思都是一个呀、、、、只不过一个JS  一个  IMG  一个不知道放哪里的
    高手的默契? LZ 我是来顶帖子的、、、分高果然高手多、、、、、
    PS:TIM 不错,就知道你能抢1L