Hebt den Suchbegriff an der Funstelle hervor, ähnlich den Suchmaschinen. Die Anzahl der Zeichen vor und nach der Fundstelle kann angegeben werden.
Beispiel: Suche nach „nur“ im Text „Ich bin nur ein kleiner Text.“
Ergebnis (4 Zeichen vor und nach der Funsstelle): …bin nur ein…
// C# public static string MarkReference(string text, string search, int num) { string referenceText = text.Trim(); string searchWord = search.Trim(); string moreLeftTag = "...", moreRightTag = "..."; int searchWordStartPos = referenceText.IndexOf(searchWord, StringComparison.CurrentCultureIgnoreCase); if (searchWordStartPos >= 0) { int referenceTextLength = referenceText.Length; int searchWordLength = searchWord.Length; int resultLeftLength = num, resultRightLength = num; int resultLeftStartPos = searchWordStartPos - resultLeftLength; int resultRightStartPos = searchWordStartPos + searchWordLength; if (resultLeftStartPos < 0) { resultLeftLength = resultLeftLength + resultLeftStartPos; resultLeftStartPos = 0; moreLeftTag = ""; } if ((resultRightStartPos + resultRightLength) > referenceTextLength) { resultRightLength = referenceTextLength - resultRightStartPos; moreRightTag = ""; } return String.Format("{0}{1}<span id="\"highlight\"">{2}</span>{3}{4}", moreLeftTag, referenceText.Substring(resultLeftStartPos, resultLeftLength), referenceText.Substring(searchWordStartPos, searchWordLength), referenceText.Substring(resultRightStartPos, resultRightLength), moreRightTag); } else { return null; // gibt's nicht... } }