protected override string ProcessContent(string content, object context) { MatchProcessingReplacer replacer = new MatchProcessingReplacer(@"(?<=\s{1,}|^)((/r/)(?'sub'[a-zA-Z0-9]+))", delegate(Match m, object state) { return(String.Format("[{0}](http://np.reddit.com{0})", m.Value)); } ); return(replacer.Replace(content, context)); }
protected override string ProcessContent(string content, object context) { MatchProcessingReplacer replacer = new MatchProcessingReplacer(@"(?<!\(\s{1,}|\[\s{1,})(?<=\s{1,}|^)(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_=]*)(?<![\.\?\-_\,]|\s{1,})", delegate(Match m, object state) { return(String.Format("[{0}]({0})", m.Value)); } ); return(replacer.Replace(content, context)); }
protected override string ProcessContent(string content, object context) { MatchProcessingReplacer replacer = new MatchProcessingReplacer(@"(?<=\s{1,}|^)((/v/)(?'sub'[a-zA-Z0-9]+))", delegate(Match m, object state) { var u = new UrlHelper(HttpContext.Current.Request.RequestContext, RouteTable.Routes); return(String.Format("[{0}]({0})", u.Action("SubverseIndex", "Subverses", new { subversetoshow = m.Groups["sub"] }))); } ); return(replacer.Replace(content, context)); }
public UserMentionFilter(int matchThreshold, bool ignoreDuplicatMatches) { _replacer = new MatchProcessingReplacer(ACCEPTABLE_LEADS + String.Format(@"((?'notify'-)?(?'prefix'@|/u/)(?'user'{0}))", CONSTANTS.USER_NAME_REGEX), MatchFound) { MatchThreshold = matchThreshold, IgnoreDuplicateMatches = ignoreDuplicatMatches }; }
protected override string ProcessContent(string content, object context) { MatchProcessingReplacer replacer = new MatchProcessingReplacer(ACCEPTABLE_LEADS + @"((/?v/)(?'sub'[a-zA-Z0-9]+((/(new|top(\?time=(day|week|month|year|all))?|comments/\d+(/\d+(?:/\d+(?:\d+)?)?)?)))?)(?'anchor'#(?:\d+|submissionTop))?)", ProcessLogic ); return replacer.Replace(content, context); }
protected override string ProcessContent(string content, object context) { MatchProcessingReplacer replacer = new MatchProcessingReplacer(ACCEPTABLE_LEADS + @"((/?r/)(?'sub'[a-zA-Z0-9_]+))", ProcessLogic); return replacer.Replace(content, context); }
protected override string ProcessContent(string content, object context) { MatchProcessingReplacer replacer = new MatchProcessingReplacer(ACCEPTABLE_LEADS + @"(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_=!@:]*)(?<![\.\?\-_\,]|\s{1,})", ProcessLogic ); return replacer.Replace(content, context); }