diff --git a/src/ImageProcessor.Web/Helpers/CommonParameterParserUtility.cs b/src/ImageProcessor.Web/Helpers/CommonParameterParserUtility.cs index 17e931ec8..0f252a570 100644 --- a/src/ImageProcessor.Web/Helpers/CommonParameterParserUtility.cs +++ b/src/ImageProcessor.Web/Helpers/CommonParameterParserUtility.cs @@ -39,7 +39,7 @@ namespace ImageProcessor.Web.Helpers /// /// The regular expression to search strings for angles. /// - private static readonly Regex AngleRegex = new Regex(@"(rotate|angle)(=|-)(-)?\d+(.?\d+)?", RegexOptions.Compiled); + private static readonly Regex AngleRegex = new Regex(@"([^.](&,=)?rotate|angle)(=|-)(-)?\d+(.?\d+)?", RegexOptions.Compiled); /// /// The regular expression to search strings for values between 1 and 100. diff --git a/src/ImageProcessor.Web/Processors/Hue.cs b/src/ImageProcessor.Web/Processors/Hue.cs index 379ccffc9..a92f809f6 100644 --- a/src/ImageProcessor.Web/Processors/Hue.cs +++ b/src/ImageProcessor.Web/Processors/Hue.cs @@ -25,7 +25,7 @@ namespace ImageProcessor.Web.Processors /// /// The regular expression to search strings for. /// - private static readonly Regex QueryRegex = new Regex(@"(hue=|rotatehue=)[^&]+", RegexOptions.Compiled); + private static readonly Regex QueryRegex = new Regex(@"(hue=|hue.\w+=)[^&]+", RegexOptions.Compiled); /// /// The hue regex. @@ -35,7 +35,7 @@ namespace ImageProcessor.Web.Processors /// /// The rotate regex. /// - private static readonly Regex RotateRegex = new Regex(@"rotatehue=true", RegexOptions.Compiled); + private static readonly Regex RotateRegex = new Regex(@"hue.rotate=true", RegexOptions.Compiled); /// /// Initializes a new instance of the class. diff --git a/src/ImageProcessor.Web/Processors/ReplaceColor.cs b/src/ImageProcessor.Web/Processors/ReplaceColor.cs index 1e7592d0a..940a50ad3 100644 --- a/src/ImageProcessor.Web/Processors/ReplaceColor.cs +++ b/src/ImageProcessor.Web/Processors/ReplaceColor.cs @@ -130,8 +130,8 @@ namespace ImageProcessor.Web.Processors Match match = ReplaceRegex.Match(input); if (match.Success) { - string[] colorQuery = match.Value.Split('=')[1].Split('|'); - colors = colorQuery.Select(CommonParameterParserUtility.ParseColor); + string[] colorQuery = match.Value.Split('=')[1].Split(new[] { "],[" }, StringSplitOptions.None); + colors = colorQuery.Select(s => CommonParameterParserUtility.ParseColor(s.Replace("[", string.Empty).Replace("]", string.Empty))); } return colors.ToArray(); diff --git a/src/ImageProcessor.Web/Processors/Rotate.cs b/src/ImageProcessor.Web/Processors/Rotate.cs index 7ab41f7da..155b4a286 100644 --- a/src/ImageProcessor.Web/Processors/Rotate.cs +++ b/src/ImageProcessor.Web/Processors/Rotate.cs @@ -22,7 +22,7 @@ namespace ImageProcessor.Web.Processors /// /// The regular expression to search strings for. /// - private static readonly Regex QueryRegex = new Regex(@"(rotate|angle)(=|-)[^&|,]+", RegexOptions.Compiled); + private static readonly Regex QueryRegex = new Regex(@"([^.](&,=)?rotate|angle)(=|-)[^&|,]+", RegexOptions.Compiled); /// /// Initializes a new instance of the class.