From 0851c04646de6e88c2b5048d228770390e15f7cd Mon Sep 17 00:00:00 2001 From: agrath Date: Sun, 9 Oct 2011 06:24:06 -1300 Subject: [PATCH] Made the new @Library.StripHtml (HtmlAgilityPack based) handle strings which don't contain HTML --- .../RazorDynamicNode/RazorLibraryCore.cs | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/umbraco.MacroEngines.Juno/RazorDynamicNode/RazorLibraryCore.cs b/umbraco.MacroEngines.Juno/RazorDynamicNode/RazorLibraryCore.cs index 3491352332..242dadfa0e 100644 --- a/umbraco.MacroEngines.Juno/RazorDynamicNode/RazorLibraryCore.cs +++ b/umbraco.MacroEngines.Juno/RazorDynamicNode/RazorLibraryCore.cs @@ -507,24 +507,33 @@ namespace umbraco.MacroEngines.Library using (MemoryStream ms = new MemoryStream()) { List targets = new List(); - foreach (var node in doc.DocumentNode.FirstChild.SelectNodes(".//*")) + + var nodes = doc.DocumentNode.FirstChild.SelectNodes(".//*"); + if (nodes != null) { - //is element - if (node.NodeType == HtmlNodeType.Element) + foreach (var node in nodes) { - bool filterAllTags = (tags == null || tags.Count == 0); - if (filterAllTags || tags.Any(tag => string.Equals(tag, node.Name, StringComparison.CurrentCultureIgnoreCase))) + //is element + if (node.NodeType == HtmlNodeType.Element) { - targets.Add(node); + bool filterAllTags = (tags == null || tags.Count == 0); + if (filterAllTags || tags.Any(tag => string.Equals(tag, node.Name, StringComparison.CurrentCultureIgnoreCase))) + { + targets.Add(node); + } } } - } - foreach (var target in targets) - { - HtmlNode content = doc.CreateTextNode(target.InnerText); - target.ParentNode.ReplaceChild(content, target); - } + foreach (var target in targets) + { + HtmlNode content = doc.CreateTextNode(target.InnerText); + target.ParentNode.ReplaceChild(content, target); + } + } + else + { + return new HtmlString(html); + } return new HtmlString(doc.DocumentNode.FirstChild.InnerHtml); } }