为CKEDITOR内容中图片加上 图片服务器路径

  做网站的时候,前台和后台是分开的, 用了CKEDITOR上传图片,但是发现内容带图片的时候,前台Web浏览的时候是一个红X,一看路径不对,上传的到数据库中的是相对的虚拟路径,例如:<img alt="" src="/uploadFile/images/Penguins.jpg" style="height:600px; 800px" />,需要加上图片服务器、或者是后台服务器的域名。

   想了各种方法都没用一个好用的,后来想到了替换或者加上一个域名到路径前面,在网上找了一个方法加以修改,最后得到内容中的为:<img alt="" src="http://127.0.0.1:81/uploadFile/images/Penguins.jpg" style="height:600px; 800px" />   代码如下:

private string changeContent(string content)
        {
            string str = content;
            Regex imgReg = new Regex(@"<img[^>]*(ssrc=)('|"")?([^>""'s]*.(gif|jpg|bmp|jpeg|psd|png|svg|dxf|wmf|tiff|swf))('|"")?[Ss][^>]*>", RegexOptions.IgnoreCase);
            MatchCollection matches = imgReg.Matches(content);
            foreach (Match m in matches)
            {
                string newStr, oldStr, tempstr;
                oldStr = m.Groups[0].Value;
                newStr = m.Groups[3].Value;
                tempstr = oldStr.Replace(newStr, "http://127.0.0.1:81" + newStr);
                str = str.Replace(oldStr, tempstr);
            }
            return str;
        }

原文地址:https://www.cnblogs.com/zgz_dpl/p/4117555.html