public void Insert(SeoMetaInfo info) { if (info.IsDefault) { SetAllIsDefaultToFalse(info.PublishmentSystemId); } var sqlString = "INSERT INTO siteserver_SeoMeta (PublishmentSystemID, SeoMetaName, [IsDefault], [PageTitle], [Keywords], [Description], [Copyright], [Author], [Email], [Language], [Charset], [Distribution], [Rating], [Robots], [RevisitAfter], [Expires]) VALUES (@PublishmentSystemID, @SeoMetaName, @IsDefault, @PageTitle, @Keywords, @Description, @Copyright, @Author, @Email, @Language, @Charset, @Distribution, @Rating, @Robots, @RevisitAfter, @Expires)"; var insertParms = new IDataParameter[] { GetParameter(ParmPublishmentSystemId, EDataType.Integer, info.PublishmentSystemId), GetParameter(ParmSeoMetaName, EDataType.VarChar, 50, info.SeoMetaName), GetParameter(ParmIsDefault, EDataType.VarChar, 18, info.IsDefault.ToString()), GetParameter(ParmPageTitle, EDataType.NVarChar, 80, info.PageTitle), GetParameter(ParmKeywords, EDataType.NVarChar, 100, info.Keywords), GetParameter(ParmDescription, EDataType.NVarChar, 200, info.Description), GetParameter(ParmCopyright, EDataType.NVarChar, 255, info.Copyright), GetParameter(ParmAuthor, EDataType.NVarChar, 50, info.Author), GetParameter(ParmEmail, EDataType.NVarChar, 50, info.Email), GetParameter(ParmLanguage, EDataType.VarChar, 50, info.Language), GetParameter(ParmCharset, EDataType.VarChar, 50, info.Charset), GetParameter(ParmDistribution, EDataType.VarChar, 50, info.Distribution), GetParameter(ParmRating, EDataType.VarChar, 50, info.Rating), GetParameter(ParmRobots, EDataType.VarChar, 50, info.Robots), GetParameter(ParmRevisitAfter, EDataType.VarChar, 50, info.RevisitAfter), GetParameter(ParmExpires, EDataType.VarChar, 50, info.Expires) }; ExecuteNonQuery(sqlString, insertParms); }
public void Update(SeoMetaInfo info) { if (info.IsDefault) { SetAllIsDefaultToFalse(info.PublishmentSystemId); } var updateParms = new IDataParameter[] { GetParameter(ParmSeoMetaName, EDataType.VarChar, 50, info.SeoMetaName), GetParameter(ParmIsDefault, EDataType.VarChar, 18, info.IsDefault.ToString()), GetParameter(ParmPageTitle, EDataType.NVarChar, 80, info.PageTitle), GetParameter(ParmKeywords, EDataType.NVarChar, 100, info.Keywords), GetParameter(ParmDescription, EDataType.NVarChar, 200, info.Description), GetParameter(ParmCopyright, EDataType.NVarChar, 255, info.Copyright), GetParameter(ParmAuthor, EDataType.NVarChar, 50, info.Author), GetParameter(ParmEmail, EDataType.NVarChar, 50, info.Email), GetParameter(ParmLanguage, EDataType.VarChar, 50, info.Language), GetParameter(ParmCharset, EDataType.VarChar, 50, info.Charset), GetParameter(ParmDistribution, EDataType.VarChar, 50, info.Distribution), GetParameter(ParmRating, EDataType.VarChar, 50, info.Rating), GetParameter(ParmRobots, EDataType.VarChar, 50, info.Robots), GetParameter(ParmRevisitAfter, EDataType.VarChar, 50, info.RevisitAfter), GetParameter(ParmExpires, EDataType.VarChar, 50, info.Expires), GetParameter(ParmSeoMetaId, EDataType.Integer, info.SeoMetaId) }; ExecuteNonQuery(SqlUpdateSeoMeta, updateParms); }
public static string GetMetaContent(SeoMetaInfo seoMetaInfo) { var codeBuilder = new StringBuilder(); if (!string.IsNullOrEmpty(seoMetaInfo.PageTitle)) { codeBuilder.Append($"<TITLE>{seoMetaInfo.PageTitle}</TITLE>\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Keywords)) { codeBuilder.Append($"<META NAME=\"keywords\" CONTENT=\"{seoMetaInfo.Keywords}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Description)) { codeBuilder.Append($"<META NAME=\"description\" CONTENT=\"{seoMetaInfo.Description}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Copyright)) { codeBuilder.Append($"<META NAME=\"copyright\" CONTENT=\"{seoMetaInfo.Copyright}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Author)) { codeBuilder.Append($"<META NAME=\"author\" CONTENT=\"{seoMetaInfo.Author}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Email)) { codeBuilder.Append($"<META NAME=\"email\" CONTENT=\"{seoMetaInfo.Email}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Language)) { codeBuilder.Append($"<META NAME=\"language\" CONTENT=\"{seoMetaInfo.Language}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Charset)) { codeBuilder.Append($"<META NAME=\"charset\" CONTENT=\"{seoMetaInfo.Charset}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Distribution)) { codeBuilder.Append($"<META NAME=\"distribution\" CONTENT=\"{seoMetaInfo.Distribution}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Rating)) { codeBuilder.Append($"<META NAME=\"rating\" CONTENT=\"{seoMetaInfo.Rating}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Robots)) { codeBuilder.Append($"<META NAME=\"robots\" CONTENT=\"{seoMetaInfo.Robots}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.RevisitAfter)) { codeBuilder.Append($"<META NAME=\"revisit-after\" CONTENT=\"{seoMetaInfo.RevisitAfter}\">\r\n"); } if (!string.IsNullOrEmpty(seoMetaInfo.Expires)) { codeBuilder.Append($"<META NAME=\"expires\" CONTENT=\"{seoMetaInfo.Expires}\">\r\n"); } return(codeBuilder.ToString()); }
public void ImportSeo(bool overwrite) { if (!FileUtils.IsFileExists(_filePath)) { return; } var feed = AtomFeed.Load(FileUtils.GetFileStreamReadOnly(_filePath)); foreach (AtomEntry entry in feed.Entries) { var seoMetaId = ConvertHelper.GetInteger(AtomUtility.GetDcElementContent(entry.AdditionalElements, "SeoMetaID")); if (!string.IsNullOrEmpty(seoMetaId.ToString())) { var seoInfo = new SeoMetaInfo(); seoInfo.SeoMetaId = seoMetaId; seoInfo.PublishmentSystemId = _publishmentSystemId; seoInfo.SeoMetaName = AtomUtility.GetDcElementContent(entry.AdditionalElements, "SeoMetaName"); seoInfo.IsDefault = TranslateUtils.ToBool(AtomUtility.GetDcElementContent(entry.AdditionalElements, "IsDefault")); seoInfo.PageTitle = AtomUtility.GetDcElementContent(entry.AdditionalElements, "PageTitle"); seoInfo.Keywords = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Keywords"); seoInfo.Description = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Description"); seoInfo.Copyright = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Copyright"); seoInfo.Author = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Author"); seoInfo.Email = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Email"); seoInfo.Language = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Language"); seoInfo.Charset = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Charset"); seoInfo.Distribution = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Distribution"); seoInfo.Rating = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Rating"); seoInfo.Robots = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Robots"); seoInfo.RevisitAfter = AtomUtility.GetDcElementContent(entry.AdditionalElements, "RevisitAfter"); seoInfo.Expires = AtomUtility.GetDcElementContent(entry.AdditionalElements, "Expires"); var seoMetaInfo = DataProvider.SeoMetaDao.GetSeoMetaInfoBySeoMetaName(_publishmentSystemId, seoInfo.SeoMetaName); if (seoMetaInfo != null) { if (overwrite) { DataProvider.SeoMetaDao.Update(seoInfo); } } else { DataProvider.SeoMetaDao.Insert(seoInfo); } } } }
public static string GetOpenWindowStringToEdit(int publishmentSystemId, SeoMetaInfo seoMetaInfo) { return(PageUtils.GetOpenWindowString("修改页面元数据", PageUtils.GetCmsUrl(nameof(ModalSeoMetaAdd), new NameValueCollection { { "PublishmentSystemID", publishmentSystemId.ToString() }, { "Author", seoMetaInfo.Author }, { "Charset", seoMetaInfo.Charset }, { "Copyright", seoMetaInfo.Copyright }, { "Description", seoMetaInfo.Description }, { "Distribution", seoMetaInfo.Distribution }, { "Email", seoMetaInfo.Email }, { "Expires", seoMetaInfo.Expires }, { "Keywords", seoMetaInfo.Keywords }, { "Language", seoMetaInfo.Language }, { "PageTitle", seoMetaInfo.PageTitle }, { "Rating", seoMetaInfo.Rating }, { "RevisitAfter", seoMetaInfo.RevisitAfter }, { "Robots", seoMetaInfo.Robots } }), 700, 560)); }
public ArrayList GetSeoMetaInfoArrayListByPublishmentSystemId(int publishmentSystemId) { var arraylist = new ArrayList(); var parms = new IDataParameter[] { GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId) }; using (var rdr = ExecuteReader(SqlSelectAllSeoMetaByPublishmentSystemId, parms)) { while (rdr.Read()) { var i = 0; var info = new SeoMetaInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); arraylist.Add(info); } rdr.Close(); } return(arraylist); }
public SeoMetaInfo GetSeoMetaInfo(int seoMetaId) { SeoMetaInfo info = null; var parms = new IDataParameter[] { GetParameter(ParmSeoMetaId, EDataType.Integer, seoMetaId) }; using (var rdr = ExecuteReader(SqlSelectSeoMeta, parms)) { if (rdr.Read()) { var i = 0; info = new SeoMetaInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); } rdr.Close(); } return(info); }
public SeoMetaInfo GetDefaultSeoMetaInfo(int publishmentSystemId) { SeoMetaInfo info = null; var parms = new IDataParameter[] { GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId), GetParameter(ParmIsDefault, EDataType.VarChar, 18, true.ToString()) }; using (var rdr = ExecuteReader(SqlSelectDefaultSeoMeta, parms)) { if (rdr.Read()) { var i = 0; info = new SeoMetaInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); } rdr.Close(); } return(info); }
public SeoMetaInfo GetSeoMetaInfoBySeoMetaName(int publishmentSystemId, string seoMetaName) { SeoMetaInfo info = null; var parms = new IDataParameter[] { GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId), GetParameter(ParmSeoMetaName, EDataType.VarChar, 50, seoMetaName) }; using (var rdr = ExecuteReader(SqlSelectSeoMetaBySeoMetaName, parms)) { if (rdr.Read()) { var i = 0; info = new SeoMetaInfo(GetInt(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); } rdr.Close(); } return(info); }
private static AtomEntry ExportSeoInfo(SeoMetaInfo seoInfo) { var entry = AtomUtility.GetEmptyEntry(); AtomUtility.AddDcElement(entry.AdditionalElements, "SeoMetaID", seoInfo.SeoMetaId.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "PublishmentSystemID", seoInfo.PublishmentSystemId.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "SeoMetaName", seoInfo.SeoMetaName); AtomUtility.AddDcElement(entry.AdditionalElements, "IsDefault", seoInfo.IsDefault.ToString()); AtomUtility.AddDcElement(entry.AdditionalElements, "PageTitle", seoInfo.PageTitle); AtomUtility.AddDcElement(entry.AdditionalElements, "Keywords", seoInfo.Keywords); AtomUtility.AddDcElement(entry.AdditionalElements, "Description", seoInfo.Description); AtomUtility.AddDcElement(entry.AdditionalElements, "Copyright", seoInfo.Copyright); AtomUtility.AddDcElement(entry.AdditionalElements, "Author", seoInfo.Author); AtomUtility.AddDcElement(entry.AdditionalElements, "Email", seoInfo.Email); AtomUtility.AddDcElement(entry.AdditionalElements, "Language", seoInfo.Language); AtomUtility.AddDcElement(entry.AdditionalElements, "Charset", seoInfo.Charset); AtomUtility.AddDcElement(entry.AdditionalElements, "Distribution", seoInfo.Distribution); AtomUtility.AddDcElement(entry.AdditionalElements, "Rating", seoInfo.Rating); AtomUtility.AddDcElement(entry.AdditionalElements, "Robots", seoInfo.Robots); AtomUtility.AddDcElement(entry.AdditionalElements, "RevisitAfter", seoInfo.RevisitAfter); AtomUtility.AddDcElement(entry.AdditionalElements, "Expires", seoInfo.Expires); return(entry); }
public override void Submit_OnClick(object sender, EventArgs e) { var isChanged = false; SeoMetaInfo seoMetaInfo; if (Body.IsQueryExists("SeoMetaID")) { var seoMetaId = Body.GetQueryInt("SeoMetaID"); seoMetaInfo = DataProvider.SeoMetaDao.GetSeoMetaInfo(seoMetaId); } else { seoMetaInfo = new SeoMetaInfo { IsDefault = false }; } seoMetaInfo.PublishmentSystemId = PublishmentSystemId; seoMetaInfo.SeoMetaName = SeoMetaName.Text; seoMetaInfo.PageTitle = PageTitle.Text; seoMetaInfo.Keywords = Keywords.Text; seoMetaInfo.Description = Description.Text; seoMetaInfo.Copyright = Copyright.Text; seoMetaInfo.Author = Author.Text; seoMetaInfo.Email = Email.Text; seoMetaInfo.Language = Language.SelectedValue; seoMetaInfo.Charset = Charset.SelectedValue; seoMetaInfo.Distribution = Distribution.SelectedValue; seoMetaInfo.Rating = Rating.SelectedValue; seoMetaInfo.Robots = Robots.SelectedValue; seoMetaInfo.RevisitAfter = RevisitAfter.SelectedValue; seoMetaInfo.Expires = Expires.Text; if (Body.IsQueryExists("SeoMetaID")) { try { DataProvider.SeoMetaDao.Update(seoMetaInfo); Body.AddSiteLog(PublishmentSystemId, "修改页面元数据", $"元数据:{seoMetaInfo.SeoMetaName}"); isChanged = true; } catch (Exception ex) { FailMessage(ex, ex.Message); } } else { var seoMetaNameArrayList = DataProvider.SeoMetaDao.GetSeoMetaNameArrayList(PublishmentSystemId); if (seoMetaNameArrayList.IndexOf(SeoMetaName.Text) != -1) { FailMessage("页面元数据添加失败,名称已存在!"); } else { try { DataProvider.SeoMetaDao.Insert(seoMetaInfo); Body.AddSiteLog(PublishmentSystemId, "添加页面元数据", $"元数据:{seoMetaInfo.SeoMetaName}"); isChanged = true; } catch (Exception ex) { FailMessage(ex, ex.Message); } } } if (isChanged) { if (Body.GetQueryString("PageTitle") == null) { PageUtils.CloseModalPage(Page); } else { PageUtils.CloseModalPageAndRedirect(Page, PageSeoMetaList.GetRedirectUrl(PublishmentSystemId)); } } }
public static SeoMetaInfo GetSeoMetaInfo(string content) { var seoMetaInfo = new SeoMetaInfo(); if (!string.IsNullOrEmpty(content)) { var metaRegex = @"<title>(?<meta>[^<]*?)</title>"; var metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.PageTitle = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')keywords(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')keywords(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Keywords = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')description(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')description(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Description = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')copyright(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')copyright(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Copyright = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')author(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')author(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Author = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')email(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')email(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Email = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')language(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')language(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Language = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')charset(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')charset(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Charset = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')distribution(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')distribution(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Distribution = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')rating(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')rating(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Rating = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')robots(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')robots(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Robots = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')revisit-after(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')revisit-after(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.RevisitAfter = metaContent; } metaRegex = @"<META\s+NAME=(?:""|')expires(?:""|')\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')(?:[^>]*)>|<META\s+CONTENT=(?:""|')(?<meta>[^<]*?)(?:""|')\s+NAME=(?:""|')expires(?:""|')(?:[^>]*)>"; metaContent = RegexUtils.GetContent("meta", metaRegex, content); if (!string.IsNullOrEmpty(metaContent)) { seoMetaInfo.Expires = metaContent; } } return(seoMetaInfo); }