asp.net2统一搜索引擎关键字编码
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-21
ot;}, new string[]{"openfind","utf8","q"}, new string[]{"alltheweb","utf8","q"}, new string[]{"lycos","utf8","query"}, new string[]{"onseek","utf8","q"} }; //搜索引擎名称 private string _EngineName = ""; public string EngineName { get { return _EngineName; } } //搜索引擎编码 private string _Coding = "utf8"; public string Coding { get { return _Coding; } } //搜索引擎关键字查询参数名称 private string _RegexWord = ""; public string RegexWord { get { return _RegexWord; } } private string _Regex = @"("; #endregion #region 搜索引擎关键字 //建立搜索关键字正则表达式 public void EngineRegEx(string myString) { for (int i = 0, j = _Enginers.Length; i < j; i++) { if (myString.Contains(_Enginers[i][0])) { _EngineName = _Enginers[i][0]; _Coding = _Enginers[i][1]; _RegexWord = _Enginers[i][2]; _Regex += _EngineName + @"\.+.*[?/&]" + _RegexWord + @"[=:])(?<key>[^&]*)"; break; } } } //得到搜索引擎关键字 public string SearchKey(string myString) { EngineRegEx(myString.ToLower()); if (_EngineName != "") { Regex myReg = new Regex(_Regex, RegexOptions.IgnoreCase); Match matche = myReg.Match(myString); myString = matche.Groups["key"].Value; //去处表示为空格的+ myString = myString.Replace("+", " "); if (_Coding == "gb2312") { myString = GetUTF8String(myString); } else { myString = Uri.UnescapeDataString(myString); } } return myString; } //整句转码 public string GetUTF8String(string myString) { Regex myReg = new Regex("(?<key>%..%..)", RegexOptions.IgnoreCase); MatchCollection matches = myReg.Matches(myString); string myWord; for (int i = 0, j = matches.Count; i < j; i++) { myWord = matches[i].Groups["key"].Value.ToString(); myString = myString.Replace(myWord, GB2312ToUTF8(myWord)); } return myString; } //单字GB2312转UTF8 URL编码 public string GB2312ToUTF8(string myString) { string[] myWord = myString.Split(''%''); byte[] myByte = new byte[] { Convert.ToByte(myWord[1], 16), Convert.ToByte(myWord[2], 16) }; |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: ASP.NET学习的九大步骤详解下一篇: asp.net关于文件在数据库的存入和读取
关于asp.net2统一搜索引擎关键字编码的所有评论