A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More.
AI OnAI Off
A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More.
I'm using the StripPreviewText-function from the Public Templates to show a preview of a number of articles, however it sometimes crash on the row previewText = previewText.Substring(0, previousWord); and at these moments the previousWord is -1. Any ideas of what could cause the problem? I'm not sure what the row before the if, setting the value of previousWord, does.
/// <summary>
/// Strips a text to a given length without splitting the last word.
/// </summary>
/// <param name="previewText">The string to shorten</param>
/// <returns>A shortened version of the given string</returns>
private static string StripPreviewText(string previewText, int maxLength)
{
if (previewText.Length <= maxLength)
{
return previewText;
}
previewText = previewText.Substring(0, maxLength);
// The maximum number of characters to cut from the end of the string.
int maxCharCut = (previewText.Length > 15 ? 15 : previewText.Length - 1);
int previousWord = previewText.LastIndexOfAny(new char[] { ' ', '.', ',', '!', '?' }, previewText.Length - 1, maxCharCut);
if (previousWord <= 0)
{
previewText = previewText.Substring(0, previousWord);
}
return previewText + " ...";
}