diff options
Diffstat (limited to 'inc/html.php')
-rw-r--r-- | inc/html.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/inc/html.php b/inc/html.php index add559971..e1478b0a8 100644 --- a/inc/html.php +++ b/inc/html.php @@ -285,7 +285,7 @@ function html_draft(){ */ function html_hilight($html,$phrases){ $phrases = array_filter((array) $phrases); - $regex = join('|',array_map('preg_quote_cb',$phrases)); + $regex = join('|',array_map('_html_hilight_re_preprocess', array_map('preg_quote_cb',$phrases))); if ($regex === '') return $html; $html = preg_replace_callback("/((<[^>]*)|$regex)/ui",'html_hilight_callback',$html); @@ -293,6 +293,13 @@ function html_hilight($html,$phrases){ } /** + * Wraps a search term in regex boundary checks. + */ +function _html_hilight_re_preprocess($term) { + return '\b'.$term.'\b'; +} + +/** * Callback used by html_hilight() * * @author Harry Fuecks <hfuecks@gmail.com> |