首页 新闻 会员 周边

随便乱写;不用回复,谢谢

0
[已关闭问题] 关闭于 2010-12-24 11:03

 public static string SafeAddQueryToURL(string key, string value, string url)
        {
            int fragPos = url.LastIndexOf("#");
            string fragment = string.Empty;
            if (fragPos > -1)
            {
                fragment = url.Substring(fragPos);
                url = url.Substring(0, fragPos);
            }
            int querystart = url.IndexOf("?");
            if (querystart < 0)
            {
                url += "?" + key + "=" + value;
            }
            else
            {
                Regex reg = new Regex(@"(?<=[&\?])" + key + @"=[^&#]*", RegexOptions.Compiled);
                if (reg.IsMatch(url))
                    url = reg.Replace(url, key + "=" + value);
                else
                    url += "&" + key + "=" + value;
            }
            return url + fragment;
        }
        /// <summary>
        /// Remove a query from url
        /// </summary>
        /// <param name="key"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        public static string SafeRemoveQueryFromURL(string key, string url)
        {
            Regex reg = new Regex(@"[&\?]" + key + @"=[^\s&#]*&?", RegexOptions.Compiled);
            return reg.Replace(url, new MatchEvaluator(PutAwayGarbageFromURL));
        }
        public static string getUrlParam(string url, string param)
        {
            Regex re = new Regex(@"(?<=[&\?])" + param + @"=[^&#]*", RegexOptions.Compiled); //new Regex(@"(\\\?|&)" + param + "=([^&#]+)(&|$|#)", "i");
            Match m = re.Match(url);
            if (m != null)
                return m.Value.Replace (param +"=","");
            else
                return "";
        }
        private static string PutAwayGarbageFromURL(Match match)
        {
            string value = match.Value;
            if (value.EndsWith("&"))
                return value.Substring(0, 1);
            else
                return string.Empty;
        }

arwen0129的主页 arwen0129 | 初学一级 | 园豆:200
提问于:2010-12-24 11:01
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册