mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Fixes #6023 : Ellipsize can spilt an HTML encoded character
This commit is contained in:
@@ -52,7 +52,7 @@ namespace Orchard.Tests.Utility.Extensions {
|
|||||||
[Test]
|
[Test]
|
||||||
public void Ellipsize_LongStringTruncatedToNearestWord() {
|
public void Ellipsize_LongStringTruncatedToNearestWord() {
|
||||||
const string toEllipsize = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed purus quis purus orci aliquam.";
|
const string toEllipsize = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sed purus quis purus orci aliquam.";
|
||||||
Assert.That(toEllipsize.Ellipsize(46), Is.StringMatching("Lorem ipsum dolor sit amet, consectetur …"));
|
Assert.That(toEllipsize.Ellipsize(46), Is.StringMatching("Lorem ipsum dolor sit amet, consectetur …"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@@ -175,11 +175,11 @@ namespace Orchard.Mvc.Html {
|
|||||||
#region Ellipsize
|
#region Ellipsize
|
||||||
|
|
||||||
public static IHtmlString Ellipsize(this HtmlHelper htmlHelper, string text, int characterCount) {
|
public static IHtmlString Ellipsize(this HtmlHelper htmlHelper, string text, int characterCount) {
|
||||||
return new HtmlString(htmlHelper.Encode(text).Ellipsize(characterCount));
|
return new HtmlString(htmlHelper.Encode(text.Ellipsize(characterCount)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IHtmlString Ellipsize(this HtmlHelper htmlHelper, string text, int characterCount, string ellipsis) {
|
public static IHtmlString Ellipsize(this HtmlHelper htmlHelper, string text, int characterCount, string ellipsis) {
|
||||||
return new HtmlString(htmlHelper.Encode(text).Ellipsize(characterCount, ellipsis));
|
return new HtmlString(htmlHelper.Encode(text.Ellipsize(characterCount, ellipsis)));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -187,8 +187,7 @@ namespace Orchard.Mvc.Html {
|
|||||||
#region Excerpt
|
#region Excerpt
|
||||||
|
|
||||||
public static MvcHtmlString Excerpt(this HtmlHelper html, string markup, int length) {
|
public static MvcHtmlString Excerpt(this HtmlHelper html, string markup, int length) {
|
||||||
|
return MvcHtmlString.Create(html.Encode(HttpUtility.HtmlDecode(markup.RemoveTags()).Ellipsize(length)));
|
||||||
return MvcHtmlString.Create(markup.RemoveTags().Ellipsize(length));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@@ -26,7 +26,7 @@ namespace Orchard.Utility.Extensions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static string Ellipsize(this string text, int characterCount) {
|
public static string Ellipsize(this string text, int characterCount) {
|
||||||
return text.Ellipsize(characterCount, " …");
|
return text.Ellipsize(characterCount, " …");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Ellipsize(this string text, int characterCount, string ellipsis, bool wordBoundary = false) {
|
public static string Ellipsize(this string text, int characterCount, string ellipsis, bool wordBoundary = false) {
|
||||||
|
Reference in New Issue
Block a user