2019-03-26

<%@ WebHandler Language="C#" Class="server" %>

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
using Model;
using System.Text.RegularExpressions;

public class server : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {
        try
        {
            //獲取調(diào)用該頁面的“方法名”
            string MethodName = HttpContext.Current.Request.PathInfo.Substring(1);
            //通過方法名找到該方法對(duì)象
            System.Reflection.MethodInfo method = this.GetType().GetMethod(MethodName);
            if (method != null)
                //反射
                HttpContext.Current.Response.Write(method.Invoke(this, null));
        }
        catch (Exception)
        {

            HttpContext.Current.Response.Write("該服務(wù)不顯示對(duì)外開放豁鲤,需提供需要調(diào)用的方法和參數(shù)");
        }
    }
    //獲取所有欄目
    public string GetColumn()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39")
        {
            string sql = "select * from columnInfo";
            List<columnInfo> list = new List<columnInfo>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text))
                {
                    while (dr.Read())
                    {
                        columnInfo Model = new columnInfo();
                        Model.cid = Convert.ToInt32(dr["cid"]);
                        Model.columnNmae = dr["columnNmae"].ToString();
                        Model.note = dr["note"].ToString();
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<columnInfo>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    //根據(jù)欄目獲取文章列表
    public string GetArticleBycid()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string cid = HttpContext.Current.Request.QueryString["cid"];
        string index = HttpContext.Current.Request.QueryString["index"];
        string count = HttpContext.Current.Request.QueryString["count"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && cid != null && index != null && count != null)
        {
            string sql = "select top " + count + " * from articleInfo where cid=@cid and articleType=1 and id not in(select top " + index + " id from articleInfo where cid=@cid and articleType=1 order by articleTime desc) order by articleTime desc";
            SqlParameter[] sqlp = new SqlParameter[] {
                new SqlParameter("@cid",cid),
            };
            List<articleTitleInfo> list = new List<articleTitleInfo>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text, sqlp))
                {
                    while (dr.Read())
                    {
                        articleTitleInfo Model = new articleTitleInfo();
                        Model.articleTitle = dr["articleTitle"].ToString();
                        Model.id = Convert.ToInt32(dr["id"]);
                        Model.articleTime = Convert.ToDateTime(dr["articleTime"]);
                        string[] imgs = GetHtmlImageUrlList(dr["articleContent"].ToString());

                        if (imgs.Length > 0)
                        {
                            if (imgs[0].Trim().Length > 7 && imgs[0].Trim().Substring(0, 7).ToLower() == "http://")
                            {
                                Model.imgUrl = imgs[0].Trim();
                            }
                            else
                            {
                                //處理
                                string url = HttpContext.Current.Request.Url.AbsoluteUri;
                                url = url.Substring(0, url.LastIndexOf("webserver"));
                                string sa = imgs[0].Trim();
                                if (sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] > 96 && sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] < 123)
                                {
                                    //不需要轉(zhuǎn)換
                                    Model.imgUrl = url + sa;
                                }
                                else
                                {
                                    Model.imgUrl = url + sa.Substring(sa.IndexOf("/") + 1);
                                }
                            }
                        }
                        else
                        {
                            Model.imgUrl = "";
                        }
                        //文字處
                        string co = StripHT(dr["articleContent"].ToString());
                        if (co.Trim().Length > 30)
                        {
                            co = co.Substring(0, 30);
                        }
                        Model.articleContent = co;
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<articleTitleInfo>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    //根據(jù)欄目獲取文章列表(圖片)
    public string GetImagArticleList()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string cid = HttpContext.Current.Request.QueryString["cid"];
        string index = HttpContext.Current.Request.QueryString["index"];
        string count = HttpContext.Current.Request.QueryString["count"];
        
        try
        {
            Convert.ToInt32(index);
            Convert.ToInt32(count);
        }
        catch (Exception)
        {

            return "非法請(qǐng)求";
        }
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && cid !=null&& index != null && count != null)
        {
            string sql = "select top " + count + " * from articleInfo where articleType=2 and cid=" + cid + " and id not in(select top " + index + " id from articleInfo where  articleType=2 and cid=" + cid + " order by articleTime desc) order by articleTime desc";
            List<ImagearticleInfo> list = new List<ImagearticleInfo>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text))
                {
                    while (dr.Read())
                    {
                        ImagearticleInfo Model = new ImagearticleInfo();
                        Model.articleTitle = dr["articleTitle"].ToString();
                        Model.id = Convert.ToInt32(dr["id"]);
                        Model.articleTime = Convert.ToDateTime(dr["articleTime"]);
                        string[] imgs = GetHtmlImageUrlList(dr["articleContent"].ToString());
                        Model.imgCount = imgs.Length;
                        //第一張圖
                        if (imgs.Length > 0)
                        {
                            if (imgs[0].Trim().Length > 7 && imgs[0].Trim().Substring(0, 7).ToLower() == "http://")
                            {
                                Model.imgUrl1 = imgs[0].Trim();
                            }
                            else
                            {
                                //處理
                                Model.imgUrl1 = GetImgUrlHtpp(imgs[0]);
                            }
                        }
                        else
                        {
                            Model.imgUrl1 = "";
                        }
                        //第二章圖片
                        if (imgs.Length > 1)
                        {
                            if (imgs[1].Trim().Length > 7 && imgs[1].Trim().Substring(0, 7).ToLower() == "http://")
                            {
                                Model.imgUrl2 = imgs[1].Trim();
                            }
                            else
                            {
                                //處理
                                Model.imgUrl2 = GetImgUrlHtpp(imgs[1]);
                            }
                        }
                        else
                        {
                            Model.imgUrl2 = "";
                        }
                        //文字處
                        string co = StripHT(dr["articleContent"].ToString());
                        if (co.Trim().Length > 30)
                        {
                            co = co.Substring(0, 30);
                        }
                        //Model.articleContent = co;
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<ImagearticleInfo>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    public string GetImgUrlHtpp(string http)
    {
        string url = HttpContext.Current.Request.Url.AbsoluteUri;
        url = url.Substring(0, url.LastIndexOf("webserver"));
        string sa = http.Trim();
        if (sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] > 96 && sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] < 123)
        {
            //不需要轉(zhuǎn)換
            return url + sa;
        }
        else
        {
            return url + sa.Substring(sa.IndexOf("/") + 1);
        }
    }
    //提取html中的文本
    private string StripHT(string Htmlstring)  //從html中提取純文本
    {
        //刪除腳本 
        Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
        //刪除HTML 
        Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", "   ", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);
        Htmlstring.Replace("<", "");
        Htmlstring.Replace(">", "");
        Htmlstring.Replace("\r\n", "");

        return Htmlstring;
    }
    public string[] GetHtmlImageUrlList(string sHtmlText)
    {
        // 定義正則表達(dá)式用來匹配 img 標(biāo)簽   
        Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);

        // 搜索匹配的字符串   
        MatchCollection matches = regImg.Matches(sHtmlText);
        int i = 0;
        string[] sUrlList = new string[matches.Count];

        // 取得匹配項(xiàng)列表   
        foreach (Match match in matches)
            sUrlList[i++] = match.Groups["imgUrl"].Value;
        return sUrlList;
    }
    //根據(jù)欄目獲取文章
    public string GetArticleById()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string id = HttpContext.Current.Request.QueryString["id"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && id != null)
        {
            string sql = "select *,(select columnNmae from columnInfo where columnInfo.cid=articleInfo.cid) as cname from articleInfo,userInfo where articleInfo.uid=userInfo.uid and id=@id order by articleTime desc";
            SqlParameter sqlp = new SqlParameter("@id", id);
            articleInfo Model = new articleInfo();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text, sqlp))
                {
                    while (dr.Read())
                    {
                        Model.articleAuthor = dr["articleAuthor"].ToString();
                        Model.articleContent = dr["articleContent"].ToString();
                        Model.articleSource = dr["articleSource"].ToString();
                        Model.articleTime = Convert.ToDateTime(dr["articleTime"]);
                        Model.articleTitle = dr["articleTitle"].ToString();
                        Model.articleType = Convert.ToInt32(dr["articleType"]);
                        Model.cid = Convert.ToInt32(dr["cid"]);
                        Model.cname = dr["cname"].ToString();
                        Model.clickCount = Convert.ToInt32(dr["clickCount"]);
                        Model.id = Convert.ToInt32(dr["id"]);
                        Model.uid = Convert.ToInt32(dr["uid"]);
                        Model.uname = dr["uname"].ToString();
                        Model.indexIn = Convert.ToInt32(dr["indexIn"]);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<articleInfo>(Model);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    //獲取輪換新聞
    public string GetRotateArticle()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39")
        {
            string sql = "select top 5 * from rotateArticle order by id desc";
            List<rotateArticle> list = new List<rotateArticle>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text))
                {
                    while (dr.Read())
                    {
                        rotateArticle Model = new rotateArticle();
                        //Model.articleUrl = dr["articleUrl"].ToString();
                        if (dr["articleUrl"].ToString().Trim().Length > 7 && dr["articleUrl"].ToString().Trim().Substring(0, 7).ToLower() == "http://")
                        {
                            Model.articleUrl = dr["articleUrl"].ToString().Trim();
                        }
                        else
                        {
                            //處理
                            Model.articleUrl = GetImgUrlHtpp(dr["articleUrl"].ToString());
                        }
                        Model.id = Convert.ToInt32(dr["id"]);
                        Model.imageTitle = dr["imageTitle"].ToString();
                        //Model.imageUrl = dr["imageUrl"].ToString();
                        if (dr["imageUrl"].ToString().Trim().Length > 7 && dr["imageUrl"].ToString().Trim().Substring(0, 7).ToLower() == "http://")
                        {
                            Model.imageUrl = dr["imageUrl"].ToString().Trim();
                        }
                        else
                        {
                            //處理
                            Model.imageUrl = GetImgUrlHtpp(dr["imageUrl"].ToString());
                        }
                        if (dr["articleUrlPhone"].ToString().Trim().Length > 7 && dr["articleUrlPhone"].ToString().Trim().Substring(0, 7).ToLower() == "http://")
                        {
                            Model.articleUrlPhone = dr["articleUrlPhone"].ToString().Trim();
                        }
                        else
                        {
                            //處理
                            Model.articleUrlPhone = GetImgUrlHtpp(dr["articleUrlPhone"].ToString());
                        }
                        //Model.articleUrlPhone = dr["articleUrlPhone"].ToString();
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<rotateArticle>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    //------------------------------------------------------------意見的提交-
    //測(cè)試意見
    public string PostYijian()
    {
        string txt = HttpContext.Current.Request.Form["content"].ToString();
        string code = HttpContext.Current.Request.Form["code"].ToString();
        if (code == "5666DFA2C1D11E39" && txt.Trim().Length > 0)
        {
            string sql = "insert into opinionInfo(opinionContent,userIp) values(@opinionContent,@userIp)";
            try
            {
                SqlParameter[] sqlp = new SqlParameter[]{
                new SqlParameter("@opinionContent", txt),
                new SqlParameter("@userIp", GetMacHelp.GetIp(HttpContext.Current.Request))
                };
                if (sysSqlHelp.SqlHelp.ExecuteNonQuery(sql, CommandType.Text, sqlp) > 0)
                {
                    return "1";
                }
                else
                {
                    return "0";
                }
            }
            catch (Exception)
            {
                return "2";
            }
        }
        else
        {
            return "3";
        }
    }
    //-------------------------------------------------------------檢察長信箱
    public string EmailSent()
    {
        string emalil = HttpContext.Current.Request.Form["emalil"].ToString();
        string theme = HttpContext.Current.Request.Form["theme"].ToString();
        string content = HttpContext.Current.Request.Form["content"].ToString();
        string code = HttpContext.Current.Request.Form["code"].ToString();
        if (code != "5666DFA2C1D11E39")
        {
            return "3";
        }
        try
        {
            string sql = "insert into EmailSent(Emalil, theme, [content],uip) values(@Emalil, @theme, @content,@uip)";
            SqlParameter[] sqlps = new SqlParameter[] {
            new SqlParameter("@Emalil",emalil),
            new SqlParameter("@theme",theme),
            new SqlParameter("@content",content),
            new SqlParameter("@uip",GetMacHelp.GetIp(HttpContext.Current.Request))
        };
            if (sysSqlHelp.SqlHelp.ExecuteNonQuery(sql, CommandType.Text, sqlps) > 0)
            {
                return "1";
            }
            else
            {
                return "0";
            }
        }
        catch (Exception)
        {

            return "2";
        }
    }
    //------------------------------------------------------法律資訊
    public string lawSent()
    {
        string emalil = HttpContext.Current.Request.Form["emalil"].ToString();
        string theme = HttpContext.Current.Request.Form["theme"].ToString();
        string content = HttpContext.Current.Request.Form["content"].ToString();
        string code = HttpContext.Current.Request.Form["code"].ToString();
        if (code != "5666DFA2C1D11E39")
        {
            return "3";
        }
        try
        {
            string sql = "insert into lawSent(Emalil, theme, [content],uip) values(@Emalil, @theme, @content,@uip)";
            SqlParameter[] sqlps = new SqlParameter[] {
            new SqlParameter("@Emalil",emalil),
            new SqlParameter("@theme",theme),
            new SqlParameter("@content",content),
            new SqlParameter("@uip",GetMacHelp.GetIp(HttpContext.Current.Request))
        };
            if (sysSqlHelp.SqlHelp.ExecuteNonQuery(sql, CommandType.Text, sqlps) > 0)
            {
                return "1";
            }
            else
            {
                return "0";
            }
        }
        catch (Exception)
        {

            return "2";
        }
    }
    
    //---------------------------------------------------------------圖片新聞
    //讀取圖片文章的具體類容
    //根據(jù)欄目獲取文章列表(圖片)
    public string GetImagArticleById()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string id = HttpContext.Current.Request.QueryString["id"];
        //16位MD5加密wuhansiwen
        string xml = "";
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && id != null)
        {
            string sql = "select * from articleInfo,userInfo where articleInfo.uid=userInfo.uid and id=@id order by articleTime desc";
            SqlParameter sqlp = new SqlParameter("@id", id);
            DataTable dt = sysSqlHelp.SqlHelp.GetDataTable(sql, CommandType.Text, sqlp);
            if (dt.Rows.Count > 0)
            {
                string artCount = dt.Rows[0]["articleContent"].ToString();
                string[] img = GetHtmlImageUrlListImgArt(ref artCount);
                artCount = StripHTImgArt(artCount);
                string[] title = artCount.Split('|');
                List<imageArtcle> list = new List<imageArtcle>();
                for (int i = 0; i < img.Length; i++)
                {
                    imageArtcle model = new imageArtcle();
                    model.imgUrl = img[i];
                    if (img[i].Trim().Length > 7 && img[i].Trim().Substring(0, 7).ToLower() == "http://")
                    {
                        model.imgUrl = img[i].Trim();
                    }
                    else
                    {
                        //處理
                        model.imgUrl = GetImgUrlHtpp(img[i]);
                    }
                    if (i < title.Length)
                    {
                        model.imgTitle = title[i];
                    }
                    list.Add(model);
                }
                //創(chuàng)建對(duì)象
                imageArtcleInfoPage imagPage = new imageArtcleInfoPage();
                imagPage.articleAuthor = dt.Rows[0]["articleAuthor"].ToString();
                imagPage.imageList = list;
                imagPage.articleSource = dt.Rows[0]["articleSource"].ToString();
                imagPage.articleTime = Convert.ToDateTime(dt.Rows[0]["articleTime"]);
                imagPage.articleTitle = dt.Rows[0]["articleTitle"].ToString();
                imagPage.articleType = Convert.ToInt32(dt.Rows[0]["articleType"]);
                imagPage.cid = Convert.ToInt32(dt.Rows[0]["cid"]);
                imagPage.clickCount = Convert.ToInt32(dt.Rows[0]["clickCount"]);
                imagPage.id = Convert.ToInt32(dt.Rows[0]["id"]);
                imagPage.uid = Convert.ToInt32(dt.Rows[0]["uid"]);
                imagPage.uname = dt.Rows[0]["uname"].ToString();
                imagPage.indexIn = Convert.ToInt32(dt.Rows[0]["indexIn"]);
                xml = Help.XmlSerialize<imageArtcleInfoPage>(imagPage);
            }

        }
        return xml;
    }

    public string GetImagArticleByIdT()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string id = HttpContext.Current.Request.QueryString["id"];
        //16位MD5加密wuhansiwen
        string xml = "";
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && id != null)
        {
            string sql = "select * from articleInfo,userInfo where articleInfo.uid=userInfo.uid and id=@id order by articleTime desc";
            SqlParameter sqlp = new SqlParameter("@id", id);
            DataTable dt = sysSqlHelp.SqlHelp.GetDataTable(sql, CommandType.Text, sqlp);
            if (dt.Rows.Count > 0)
            {
                string artCount = dt.Rows[0]["articleContent"].ToString();
                string[] img = GetHtmlImageUrlListImgArt(ref artCount);
                artCount = StripHTImgArt(artCount);
                string[] title = artCount.Split('|');
                List<imageArtcle> list = new List<imageArtcle>();
                for (int i = 0; i < img.Length; i++)
                {
                    imageArtcle model = new imageArtcle();
                    model.imgUrl = img[i];
                    if (img[i].Trim().Length > 7 && img[i].Trim().Substring(0, 7).ToLower() == "http://")
                    {
                        model.imgUrl = img[i].Trim();
                    }
                    else
                    {
                        //處理
                        model.imgUrl = GetImgUrlHtpp(img[i]);
                    }
                    if (i < title.Length)
                    {
                        model.imgTitle = title[i];
                    }
                    list.Add(model);
                }
                //創(chuàng)建對(duì)象
                xml = Help.XmlSerialize<List<imageArtcle>>(list);
            }

        }
        return xml;
    }

    //提取html中的文本
    private string StripHTImgArt(string Htmlstring)  //從html中提取純文本
    {
        //刪除腳本 
        Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
        //刪除HTML 
        Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", "   ", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
        Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);
        Htmlstring.Replace("<", "");
        Htmlstring.Replace(">", "");
        Htmlstring.Replace("\r\n", "");

        return Htmlstring;
    }
    public string[] GetHtmlImageUrlListImgArt(ref string sHtmlText)
    {
        // 定義正則表達(dá)式用來匹配 img 標(biāo)簽   
        Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);
        // 搜索匹配的字符串   
        MatchCollection matches = regImg.Matches(sHtmlText);
        int i = 0;
        string[] sUrlList = new string[matches.Count];

        // 取得匹配項(xiàng)列表   
        foreach (Match match in matches)
        {
            sUrlList[i++] = match.Groups["imgUrl"].Value;
            sHtmlText = sHtmlText.Replace(match.ToString(), "|");
        }
        return sUrlList;
    }

    //-------------------------------------------------------視頻
    public string GetVideoList()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string index = HttpContext.Current.Request.QueryString["index"];
        string count = HttpContext.Current.Request.QueryString["count"];
        try
        {
            Convert.ToInt32(index);
            Convert.ToInt32(count);
        }
        catch (Exception)
        {

            return "非法請(qǐng)求";
        }
        string xml = "";
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && index != null && count != null)
        {
            string sql = "select top " + count + " * from articleInfo where articleType=3 and id not in(select top " + index + " id from articleInfo where  articleType=3 order by articleTime desc) order by articleTime desc";
            DataTable dt = sysSqlHelp.SqlHelp.GetDataTable(sql, CommandType.Text);
            List<videoInfo> list = new List<videoInfo>();
            foreach (DataRow item in dt.Rows)
            {
                videoInfo model = new videoInfo();
                model.articleTitle = item["articleTitle"].ToString();
                model.articleTime = Convert.ToDateTime(item["articleTime"]);
                string sa = GetImagToStr(item["articleContent"].ToString()).Count > 0 ? GetImagToStr(item["articleContent"].ToString())[0].imgUrl : "";
                if (sa.Trim().Length > 7 && sa.Trim().Substring(0, 7).ToLower() == "http://")
                {
                    model.videoImgUrl = sa.Trim();
                }
                else
                {
                    //處理
                    model.videoImgUrl = GetImgUrlHtpp(sa);
                }
                model.videoUrl = GetImagToStr(item["articleContent"].ToString()).Count > 0 ? GetImagToStr(item["articleContent"].ToString())[0].imgTitle : "#";
                list.Add(model);
            }
            xml = Help.XmlSerialize<List<videoInfo>>(list);
        }
        return xml;

    }

    public List<imageArtcle> GetImagToStr(string html)
    {
        // 定義正則表達(dá)式用來匹配 img 標(biāo)簽   
        Regex regImg = new Regex(@"<img\b[^<>]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);

        // 搜索匹配的字符串   
        MatchCollection matches = regImg.Matches(html);
        //string[] sUrlList = new string[matches.Count];
        List<imageArtcle> list = new List<imageArtcle>();
        // 取得匹配項(xiàng)列表   
        foreach (Match match in matches)
        {
            imageArtcle model = new imageArtcle();
            model.imgUrl = match.Groups["imgUrl"].Value;
            string[] title = GetTitle(match.ToString());
            if (title.Length > 0)
            {
                model.imgTitle = title[0];
            }
            //其它屬性
            list.Add(model);
        }
        return list;
    }
    public string[] GetTitle(string title)
    {
        // 定義正則表達(dá)式用來匹配 img 標(biāo)簽   
        Regex regImg = new Regex(@"<img\b[^<>]*?\btitle[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(?<imgUrl>[^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>", RegexOptions.IgnoreCase);

        // 搜索匹配的字符串   
        MatchCollection matches = regImg.Matches(title);
        int i = 0;
        string[] sUrlList = new string[matches.Count];

        // 取得匹配項(xiàng)列表   
        foreach (Match match in matches)
        {
            sUrlList[i++] = match.Groups["imgUrl"].Value;
        }
        return sUrlList;
    }
    /// <summary>
    /// ////////////////////////////////////////////////////////////////////專題
    /// </summary>
    /// //獲取專題列表
    public string GetsubjectInfoList() 
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39")
        {
            string sql = "select * from subjectInfo order by SubTime desc";
            List<subjectInfo> list = new List<subjectInfo>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text))
                {
                    while (dr.Read())
                    {
                        subjectInfo Model = new subjectInfo();
                        Model.sid = Convert.ToInt32(dr["sid"]);
                        Model.indexIn = Convert.ToInt32(dr["indexIn"]);
                        Model.SubImgUrl = dr["SubImgUrl"].ToString();
                        if (Model.SubImgUrl.Trim().Length > 7 && Model.SubImgUrl.Trim().Substring(0, 7).ToLower() == "http://")
                        {
                            Model.SubImgUrl = Model.SubImgUrl.Trim();
                        }
                        else
                        {
                            //處理
                            Model.SubImgUrl = GetImgUrlHtpp(Model.SubImgUrl);
                        }
                        Model.SubLogUrl = dr["SubLogUrl"].ToString();
                        if (Model.SubLogUrl.Trim().Length > 7 && Model.SubLogUrl.Trim().Substring(0, 7).ToLower() == "http://")
                        {
                            Model.SubLogUrl = Model.SubLogUrl.Trim();
                        }
                        else
                        {
                            //處理
                            Model.SubLogUrl = GetImgUrlHtpp(Model.SubLogUrl);
                        }
                        Model.SubName = dr["SubName"].ToString();
                        Model.SubTime = Convert.ToDateTime(dr["SubTime"]);
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<subjectInfo>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    //獲取專題下的所有欄目
    public string GetsubColumn()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string sid = HttpContext.Current.Request.QueryString["sid"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39"&&sid!=null)
        {
            string sql = "select * from subColumn where sid=@sid";
            SqlParameter sqlp = new SqlParameter("@sid",sid);
            List<subColumn> list = new List<subColumn>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text, sqlp))
                {
                    while (dr.Read())
                    {
                        subColumn Model = new subColumn();
                        Model.sid = Convert.ToInt32(dr["sid"]);
                        Model.note = dr["sid"].ToString();
                        Model.cid = Convert.ToInt32(dr["cid"]);
                        Model.SubCName = dr["SubCName"].ToString();
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<subColumn>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    //獲取專題中的文章
    public string GetsubArticleList()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string sid = HttpContext.Current.Request.QueryString["sid"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && sid != null)
        {
            string sql = "select * from subColumn where sid=@sid";
            SqlParameter sqlp = new SqlParameter("@sid", sid);
            //List<subColumn> list = new List<subColumn>();
            List<SubArticle> list = new List<SubArticle>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text, sqlp))
                {
                    while (dr.Read())
                    {
                        //subColumn Model = new subColumn();
                        //Model.sid = Convert.ToInt32(dr["sid"]);
                        //Model.note = dr["sid"].ToString();
                        //Model.cid = Convert.ToInt32(dr["cid"]);
                        //Model.SubCName = dr["SubCName"].ToString();
                        //list.Add(Model);
                        SubArticle Mode=new SubArticle();
                        Mode.sid=Convert.ToInt32(dr["sid"]);
                        Mode.SubCName = dr["SubCName"].ToString();
                        Mode.list = GetsubArticleBycid(Convert.ToInt32(dr["cid"]).ToString());
                        list.Add(Mode);
                        
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<SubArticle>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }
    //根據(jù)欄目獲取文章
    //根據(jù)欄目獲取文章列表
    public string GetsubArticleBycid()
    {
        string code = HttpContext.Current.Request.QueryString["code"];
        string cid = HttpContext.Current.Request.QueryString["cid"];
        string index = HttpContext.Current.Request.QueryString["index"];
        string count = HttpContext.Current.Request.QueryString["count"];
        //16位MD5加密wuhansiwen
        if (code != null && code.Trim().ToUpper() == "5666DFA2C1D11E39" && cid != null && index != null && count != null)
        {
            string sql = "select top " + count + " * from subArticle where cid=@cid and articleType=1 and id not in(select top " + index + " id from subArticle where cid=@cid and articleType=1 order by articleTime desc) order by articleTime desc";
            SqlParameter[] sqlp = new SqlParameter[] {
                new SqlParameter("@cid",cid),
            };
            List<articleTitleInfo> list = new List<articleTitleInfo>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text, sqlp))
                {
                    while (dr.Read())
                    {
                        articleTitleInfo Model = new articleTitleInfo();
                        Model.articleTitle = dr["articleTitle"].ToString();
                        Model.id = Convert.ToInt32(dr["id"]);
                        Model.articleTime = Convert.ToDateTime(dr["articleTime"]);
                        string[] imgs = GetHtmlImageUrlList(dr["articleContent"].ToString());

                        if (imgs.Length > 0)
                        {
                            if (imgs[0].Trim().Length > 7 && imgs[0].Trim().Substring(0, 7).ToLower() == "http://")
                            {
                                Model.imgUrl = imgs[0].Trim();
                            }
                            else
                            {
                                //處理
                                string url = HttpContext.Current.Request.Url.AbsoluteUri;
                                url = url.Substring(0, url.LastIndexOf("webserver"));
                                string sa = imgs[0].Trim();
                                if (sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] > 96 && sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] < 123)
                                {
                                    //不需要轉(zhuǎn)換
                                    Model.imgUrl = url + sa;
                                }
                                else
                                {
                                    Model.imgUrl = url + sa.Substring(sa.IndexOf("/") + 1);
                                }
                            }
                        }
                        else
                        {
                            Model.imgUrl = "";
                        }
                        //文字處
                        string co = StripHT(dr["articleContent"].ToString());
                        if (co.Trim().Length > 30)
                        {
                            co = co.Substring(0, 30);
                        }
                        Model.articleContent = co;
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            string xml = Help.XmlSerialize<List<articleTitleInfo>>(list);
            return xml;
        }
        else
        {
            return "非法請(qǐng)求";
        }
    }

    //根據(jù)欄目獲取文章列表
    public List<articleTitleInfo>  GetsubArticleBycid(string cid)
    {
        //16位MD5加密wuhansiwen
        if (cid != null)
        {
            string sql = "select * from subArticle where cid=@cid and articleType=1 order by articleTime desc";
            SqlParameter[] sqlp = new SqlParameter[] {
                new SqlParameter("@cid",cid),
            };
            List<articleTitleInfo> list = new List<articleTitleInfo>();
            try
            {
                using (SqlDataReader dr = sysSqlHelp.SqlHelp.ExecuteReader(sql, System.Data.CommandType.Text, sqlp))
                {
                    while (dr.Read())
                    {
                        articleTitleInfo Model = new articleTitleInfo();
                        Model.articleTitle = dr["articleTitle"].ToString();
                        Model.id = Convert.ToInt32(dr["id"]);
                        Model.articleTime = Convert.ToDateTime(dr["articleTime"]);
                        string[] imgs = GetHtmlImageUrlList(dr["articleContent"].ToString());

                        if (imgs.Length > 0)
                        {
                            if (imgs[0].Trim().Length > 7 && imgs[0].Trim().Substring(0, 7).ToLower() == "http://")
                            {
                                Model.imgUrl = imgs[0].Trim();
                            }
                            else
                            {
                                //處理
                                string url = HttpContext.Current.Request.Url.AbsoluteUri;
                                url = url.Substring(0, url.LastIndexOf("webserver"));
                                string sa = imgs[0].Trim();
                                if (sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] > 96 && sa.ToLower().Trim().Substring(0, 1).ToCharArray()[0] < 123)
                                {
                                    //不需要轉(zhuǎn)換
                                    Model.imgUrl = url + sa;
                                }
                                else
                                {
                                    Model.imgUrl = url + sa.Substring(sa.IndexOf("/") + 1);
                                }
                            }
                        }
                        else
                        {
                            Model.imgUrl = "";
                        }
                        //文字處
                        string co = StripHT(HttpUtility.HtmlDecode(dr["articleContent"].ToString()));
                        co = co.Replace(" ", "");
                        if (co.Trim().Length > 60)
                        {
                            co = co.Substring(0, 60);
                        }
                        Model.articleContent = co;
                        list.Add(Model);
                    }
                }
            }
            catch (Exception)
            { }
            return list;
        }
        else
        {
            return null;
        }
    }
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末可霎,一起剝皮案震驚了整個(gè)濱河市矮固,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛾绎,老刑警劉巖悔详,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異链瓦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)盯桦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門慈俯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拥峦,你說我怎么就攤上這事贴膘。” “怎么了略号?”我有些...
    開封第一講書人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵刑峡,是天一觀的道長。 經(jīng)常有香客問我玄柠,道長突梦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任羽利,我火速辦了婚禮宫患,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘铐伴。我一直安慰自己撮奏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開白布当宴。 她就那樣靜靜地躺著畜吊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪户矢。 梳的紋絲不亂的頭發(fā)上玲献,一...
    開封第一講書人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼捌年。 笑死瓢娜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的礼预。 我是一名探鬼主播眠砾,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼托酸!你這毒婦竟也來了褒颈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤励堡,失蹤者是張志新(化名)和其女友劉穎谷丸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體应结,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡刨疼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鹅龄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揩慕。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖砾层,靈堂內(nèi)的尸體忽然破棺而出漩绵,到底是詐尸還是另有隱情,我是刑警寧澤肛炮,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布止吐,位于F島的核電站,受9級(jí)特大地震影響侨糟,放射性物質(zhì)發(fā)生泄漏碍扔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一秕重、第九天 我趴在偏房一處隱蔽的房頂上張望不同。 院中可真熱鬧,春花似錦溶耘、人聲如沸二拐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽百新。三九已至,卻和暖如春庐扫,著一層夾襖步出監(jiān)牢的瞬間饭望,已是汗流浹背仗哨。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留铅辞,地道東北人厌漂。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像斟珊,于是被迫代替她去往敵國和親苇倡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 申26:5你要在耶和華你神面前說:‘我祖原是一個(gè)將亡的亞蘭人…… 這節(jié)經(jīng)文給我的提醒是我們也要記住我們生命的初貌囤踩,...
    阿躍的靈修筆記閱讀 3,715評(píng)論 0 1
  • 3.19-3.25周計(jì)劃 一雏节、挪威的森林看完。完成情況:看到200頁高职。 二、沉默和老了各看2個(gè)小時(shí)辞州。完成情況:沒看...
    雪木912閱讀 175評(píng)論 0 0
  • 我覺得我上了大學(xué)應(yīng)該改變了很多吧变过,再也不是以前那個(gè)懦弱內(nèi)向的孩子了埃元,可是今天舍友一句無意間的話卻打破了我所有的...
    z先生的影子閱讀 871評(píng)論 0 0
  • 地支藏干是有規(guī)律的,掌握了這些規(guī)律記憶起來就會(huì)更容易媚狰,記的也會(huì)更牢固岛杀,分為三組記憶,子午卯酉崭孤,寅申巳亥类嗤,辰...
    四八之?dāng)?shù)閱讀 3,453評(píng)論 0 1