aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-04-01 21:30:17 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-04-01 21:30:17 +0000
commitbeea41ffaf04ed141ed3afe5828dee098e0f22e0 (patch)
tree1d6e5cafefbe302ad31dbea0107a0a6827c7a4d4 /lib
parent55af9770a25d768d02172836df55ff7c89652c67 (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.php7
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">';