コード例 #1
0
        public string AddPluginUrl(string Url)
        {
            #region UrlIformation
            string description = "";
            string title       = "";
            string imgurl      = "";
            PluginInfoRepository _plugininfoRepository      = new PluginInfoRepository();
            Domain.Socioboard.Domain.PluginInfo _plugininfo = new Domain.Socioboard.Domain.PluginInfo();
            if (!_plugininfoRepository.IsUrlExist(Url))
            {
                if (!Url.Contains("socioboard"))
                {
                    string pagesource = GetHtml(Url);
                    if (pagesource.Contains("<img") && !string.IsNullOrEmpty(pagesource))
                    {
                        string[] atrr = Regex.Split(pagesource, "<img");
                        foreach (var item in atrr)
                        {
                            if (item.Contains("src") && !item.Contains("<!DOCTYPE html>"))
                            {
                                string url = "";
                                try
                                {
                                    url = getBetween(item, "src=\"", "alt=").Replace("\"", string.Empty);
                                }
                                catch (Exception ex)
                                {
                                    url = getBetween(item, "src=\"", "\"").Replace("\"", string.Empty);
                                }
                                imgurl = url + "," + imgurl;
                            }
                        }
                    }
                    if (pagesource.Contains("<meta"))
                    {
                        string[] metatag = Regex.Split(pagesource, "<meta");
                        foreach (var item in metatag)
                        {
                            string data = "";
                            if (item.Contains("description"))
                            {
                                data        = getBetween(item, "content=", ">").Replace("\"", "").Replace("/", "");
                                description = data + "," + description;
                            }

                            if (item.Contains("site_name"))
                            {
                                title = getBetween(item, "content=\"", "\"");
                            }
                            if (string.IsNullOrEmpty(title))
                            {
                                if (item.Contains("title name"))
                                {
                                    title = getBetween(item, "content=\"", "\"");
                                }
                            }
                        }
                    }
                }
                else
                {
                    string pagesource = GetHtml(Url);
                    if (pagesource.Contains("<img") && !string.IsNullOrEmpty(pagesource))
                    {
                        string[] atrr = Regex.Split(pagesource, "<img");
                        foreach (var item in atrr)
                        {
                            if (item.Contains("src") && !item.Contains("<!DOCTYPE"))
                            {
                                string url = "";
                                if (item.Contains("/Themes"))
                                {
                                    url = getBetween(item, "src=", "alt=").Replace("\"", string.Empty);
                                    url = "https://www.socioboard.com" + url;
                                }
                                else
                                {
                                    url = getBetween(item, "src=", "class=").Replace("\"", string.Empty);
                                }

                                imgurl = url + "," + imgurl;
                            }
                        }
                    }
                    if (pagesource.Contains("<meta"))
                    {
                        string[] metatag = Regex.Split(pagesource, "<meta");
                        foreach (var item in metatag)
                        {
                            string data = "";
                            if (item.Contains("description"))
                            {
                                data        = getBetween(item, "content=", ">").Replace("\"", "").Replace("/", "");
                                description = data + "," + description;
                            }
                            if (item.Contains("site_name"))
                            {
                                title = getBetween(item, "content=\"", "\"");
                            }
                            if (string.IsNullOrEmpty(title))
                            {
                                if (item.Contains("title name"))
                                {
                                    title = getBetween(item, "content=\"", "\"");
                                }
                            }
                        }
                    }
                }

                _plugininfo.id          = Guid.NewGuid();
                _plugininfo.imageurl    = imgurl;
                _plugininfo.url         = Url;
                _plugininfo.description = description;
                _plugininfo.title       = title;
                PluginInfoRepository.Add(_plugininfo);
                _plugininfo = _plugininfoRepository.getUrlInfo(Url);
                return(new JavaScriptSerializer().Serialize(_plugininfo));
            }
            else
            {
                _plugininfo = _plugininfoRepository.getUrlInfo(Url);
                return(new JavaScriptSerializer().Serialize(_plugininfo));
            }
            #endregion
        }
コード例 #2
0
        public string AddPluginUrl(string Url)
        {

            #region UrlIformation
            string description = "";
            string title = "";
            string imgurl = "";
            PluginInfoRepository _plugininfoRepository = new PluginInfoRepository();
            Domain.Socioboard.Domain.PluginInfo _plugininfo = new Domain.Socioboard.Domain.PluginInfo();
            if (!_plugininfoRepository.IsUrlExist(Url))
            {
                if (!Url.Contains("socioboard"))
                {
                    string pagesource = GetHtml(Url);
                    if (pagesource.Contains("<img") && !string.IsNullOrEmpty(pagesource))
                    {

                        string[] atrr = Regex.Split(pagesource, "<img");
                        foreach (var item in atrr)
                        {
                            if (item.Contains("src") && !item.Contains("<!DOCTYPE html>"))
                            {
                                string url = "";
                                try
                                {
                                    url = getBetween(item, "src=\"", "alt=").Replace("\"", string.Empty);
                                }
                                catch (Exception ex)
                                {

                                    url = getBetween(item, "src=\"", "\"").Replace("\"", string.Empty);
                                }
                                imgurl = url + "," + imgurl;
                            }
                        }
                    }
                    if (pagesource.Contains("<meta"))
                    {
                        string[] metatag = Regex.Split(pagesource, "<meta");
                        foreach (var item in metatag)
                        {
                            string data = "";
                            if (item.Contains("description"))
                            {
                                data = getBetween(item, "content=", ">").Replace("\"", "").Replace("/", "");
                                description = data + "," + description;
                            }

                            if (item.Contains("site_name"))
                            {

                                title = getBetween(item, "content=\"", "\"");
                            }
                            if (string.IsNullOrEmpty(title))
                            {
                                if (item.Contains("title name"))
                                {

                                    title = getBetween(item, "content=\"", "\"");
                                }
                            }
                        }
                    }
                }
                else
                {

                    string pagesource = GetHtml(Url);
                    if (pagesource.Contains("<img") && !string.IsNullOrEmpty(pagesource))
                    {

                        string[] atrr = Regex.Split(pagesource, "<img");
                        foreach (var item in atrr)
                        {
                            if (item.Contains("src") && !item.Contains("<!DOCTYPE"))
                            {
                                string url = "";
                                if (item.Contains("/Themes"))
                                {
                                    url = getBetween(item, "src=", "alt=").Replace("\"", string.Empty);
                                    url = "https://www.socioboard.com" + url;

                                }
                                else
                                {
                                    url = getBetween(item, "src=", "class=").Replace("\"", string.Empty);
                                }

                                imgurl = url + "," + imgurl;
                            }
                        }
                    }
                    if (pagesource.Contains("<meta"))
                    {
                        string[] metatag = Regex.Split(pagesource, "<meta");
                        foreach (var item in metatag)
                        {
                            string data = "";
                            if (item.Contains("description"))
                            {
                                data = getBetween(item, "content=", ">").Replace("\"", "").Replace("/", "");
                                description = data + "," + description;

                            }
                            if (item.Contains("site_name"))
                            {

                                title = getBetween(item, "content=\"", "\"");
                            }
                            if (string.IsNullOrEmpty(title))
                            {
                                if (item.Contains("title name"))
                                {

                                    title = getBetween(item, "content=\"", "\"");
                                }
                            }
                        }
                    }

                }

                _plugininfo.id = Guid.NewGuid();
                _plugininfo.imageurl = imgurl;
                _plugininfo.url = Url;
                _plugininfo.description = description;
                _plugininfo.title = title;
                PluginInfoRepository.Add(_plugininfo);
                _plugininfo = _plugininfoRepository.getUrlInfo(Url);
                return new JavaScriptSerializer().Serialize(_plugininfo);

            }
            else
            {

                _plugininfo = _plugininfoRepository.getUrlInfo(Url);
                return new JavaScriptSerializer().Serialize(_plugininfo);
            }
            #endregion

        }