diff options
| author | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-04-01 21:30:17 +0000 |
|---|---|---|
| committer | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-04-01 21:30:17 +0000 |
| commit | beea41ffaf04ed141ed3afe5828dee098e0f22e0 (patch) | |
| tree | 1d6e5cafefbe302ad31dbea0107a0a6827c7a4d4 /lib | |
| parent | 55af9770a25d768d02172836df55ff7c89652c67 (diff) | |
remove HTML in wiki search result fragments, fixes #1376
Closes #1376
Merge request studip/studip!1689
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/wiki.inc.php | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/wiki.inc.php b/lib/wiki.inc.php index b633e46..84aa61b 100644 --- a/lib/wiki.inc.php +++ b/lib/wiki.inc.php @@ -875,10 +875,11 @@ function searchWiki($searchfor, $searchcurrentversions, $keyword, $localsearch) $offset=0; // step through text $ignore_next_hits=0; // don't show hits more than once $first_line=1; // don't print <br> before first hit + $body = Studip\Markup::removeHtml($result['body']); print($tdheadleft); // find all occurences - while ($offset < mb_strlen($result['body'])) { - $pos=mb_stripos($result['body'], $searchfor,$offset); + while ($offset < mb_strlen($body)) { + $pos=mb_stripos($body, $searchfor, $offset); if ($pos===FALSE) break; $offset=$pos+1; if (($ignore_next_hits--)>0) { @@ -889,7 +890,7 @@ function searchWiki($searchfor, $searchcurrentversions, $keyword, $localsearch) } // show max 80 chars $fragment = ''; - $split_fragment = preg_split('/('.preg_quote($searchfor,'/').')/i', mb_substr($result['body'],max(0, $pos-40), 80), -1, PREG_SPLIT_DELIM_CAPTURE); + $split_fragment = preg_split('/('.preg_quote($searchfor,'/').')/i', mb_substr($body, max(0, $pos-40), 80), -1, PREG_SPLIT_DELIM_CAPTURE); for ($i = 0; $i < count($split_fragment); ++$i) { if ($i % 2) { $fragment .= '<span style="background-color:#FFFF88">'; |
