{"id":182,"date":"2009-08-06T23:14:24","date_gmt":"2009-08-06T21:14:24","guid":{"rendered":"http:\/\/unckel.com\/blog\/?p=182"},"modified":"2019-12-07T22:11:05","modified_gmt":"2019-12-07T21:11:05","slug":"fundstelle-eines-suchbegriffs-markieren-c","status":"publish","type":"post","link":"https:\/\/unckel.de\/blog\/fundstelle-eines-suchbegriffs-markieren-c\/","title":{"rendered":"Fundstelle eines Suchbegriffs markieren (C#)"},"content":{"rendered":"<p>Hebt den Suchbegriff an der Funstelle hervor, \u00e4hnlich den Suchmaschinen. Die Anzahl der Zeichen vor und nach der Fundstelle kann angegeben werden.<\/p>\n<p><strong>Beispiel:<\/strong>\u00a0Suche nach &#8222;nur&#8220; im Text &#8222;Ich bin nur ein kleiner Text.&#8220;<\/p>\n<p><strong>Ergebnis\u00a0<\/strong>(4 Zeichen vor und nach der Funsstelle): &#8230;bin\u00a0<b>nur<\/b>\u00a0ein&#8230;<\/p>\n<pre>\/\/ C#\npublic static string MarkReference(string text, string search, int num)\n{\n    string referenceText = text.Trim();\n    string searchWord = search.Trim();\n    string moreLeftTag = \"...\", moreRightTag = \"...\";\n    int searchWordStartPos = \n           referenceText.IndexOf(searchWord, StringComparison.CurrentCultureIgnoreCase);\n    if (searchWordStartPos &gt;= 0)\n    {\n        int referenceTextLength = referenceText.Length;\n        int searchWordLength = searchWord.Length;\n        int resultLeftLength = num, resultRightLength = num;\n        int resultLeftStartPos = searchWordStartPos - resultLeftLength;\n        int resultRightStartPos = searchWordStartPos + searchWordLength;\n\n        if (resultLeftStartPos &lt; 0)\n        {\n            resultLeftLength = resultLeftLength + resultLeftStartPos;\n            resultLeftStartPos = 0;\n            moreLeftTag = \"\";\n         }\n\n         if ((resultRightStartPos + resultRightLength) &gt; referenceTextLength)\n         {\n             resultRightLength = referenceTextLength - resultRightStartPos;\n             moreRightTag = \"\";\n         }\n\n         return String.Format(\"{0}{1}&lt;span id=\"\\\"highlight\\\"\"&gt;{2}&lt;\/span&gt;{3}{4}\",\n                moreLeftTag,\n                referenceText.Substring(resultLeftStartPos, resultLeftLength),\n                referenceText.Substring(searchWordStartPos, searchWordLength),\n                referenceText.Substring(resultRightStartPos, resultRightLength),\n                moreRightTag);\n    }\n    else\n    {\n        return null; \/\/ gibt's nicht...\n    }\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Hebt den Suchbegriff an der Funstelle hervor, \u00e4hnlich den Suchmaschinen. Die Anzahl der Zeichen vor und nach der Fundstelle kann angegeben werden. Beispiel:\u00a0Suche nach &#8222;nur&#8220; im Text &#8222;Ich bin nur ein kleiner Text.&#8220; Ergebnis\u00a0(4 Zeichen vor und nach der Funsstelle): &#8230;bin\u00a0nur\u00a0ein&#8230; \/\/ C# public static string MarkReference(string text, string search, int num) { string referenceText [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[],"class_list":["post-182","post","type-post","status-publish","format-standard","hentry","category-webdesign"],"_links":{"self":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/comments?post=182"}],"version-history":[{"count":1,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/182\/revisions"}],"predecessor-version":[{"id":804,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/posts\/182\/revisions\/804"}],"wp:attachment":[{"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/media?parent=182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/categories?post=182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unckel.de\/blog\/wp-json\/wp\/v2\/tags?post=182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}