diff --git a/docs/NEWS b/docs/NEWS index a6ce40e7..51ebd0fa 100644 --- a/docs/NEWS +++ b/docs/NEWS @@ -3,6 +3,10 @@ Version 1.3 () ------------------------------------------------------------------------ + * Highlighting searched words in entries now uses str_replace instead + of slower and possibly insecure preg_replace(). Thanks to + Dietrich Raisin! + * New plugin API method "parseTemplate($filename)" to allow a sidebar- or event-plugin to fetch+display a smarty template. (garvinhicking) diff --git a/include/functions_entries.inc.php b/include/functions_entries.inc.php index 44e3188d..3258f63f 100644 --- a/include/functions_entries.inc.php +++ b/include/functions_entries.inc.php @@ -970,7 +970,7 @@ function serendipity_printEntries($entries, $extended = 0, $preview = false, $sm $searchterms = explode($searchterms, ' '); foreach($searchterms as $searchdx => $searchterm) { $searchclass = "foundterm foundterm".$searchdx; - $entry['body'] = preg_replace('/('.$searchterm.')/mi', '<span class="'.$searchclass.'">\1</span>', $entry['body']); + $entry['body'] = str_replace($searchterm, '<span class="'.$searchclass.'">' . $searchterm . '</span>', $entry['body']); } }