diff options
author | Fil <fil@rezo.net> | 2009-04-15 10:35:15 +0200 |
---|---|---|
committer | Fil <fil@rezo.net> | 2009-04-15 10:35:15 +0200 |
commit | e8fc34e75c4c9684b8c7e03d471a905e08446618 (patch) | |
tree | 83bfa9ef323c83dfcbd1a60061b1d8224d62a563 | |
parent | 99f4367d03a4bd0676ac2b7ea9b5cfb8cf0f6f83 (diff) |
Use preg_quote to fix http://laconi.ca/trac/ticket/1342
-rw-r--r-- | actions/noticesearch.php | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/actions/noticesearch.php b/actions/noticesearch.php index 095d0a454..0828e47d7 100644 --- a/actions/noticesearch.php +++ b/actions/noticesearch.php @@ -184,11 +184,11 @@ class SearchNoticeListItem extends NoticeListItem { function highlight($text, $terms) { /* Highligh search terms */ - $pattern = '/('.implode('|', array_map('htmlspecialchars', $terms)).')/i'; + $pattern = '/('.implode('|', array_map('preg_quote', array_map('htmlspecialchars', $terms))).')/i'; $result = preg_replace($pattern, '<strong>\\1</strong>', $text); /* Remove highlighting from inside links, loop incase multiple highlights in links */ - $pattern = '/(href="[^"]*)<strong>('.implode('|', array_map('htmlspecialchars', $terms)).')<\/strong>([^"]*")/iU'; + $pattern = '/(href="[^"]*)<strong>('.implode('|', array_map('preg_quote', array_map('htmlspecialchars', $terms))).')<\/strong>([^"]*")/iU'; do { $result = preg_replace($pattern, '\\1\\2\\3', $result, -1, $count); } while ($count); |