diff --git a/phpBB/search.php b/phpBB/search.php
index 0e5437b27c..e2c68409c3 100644
--- a/phpBB/search.php
+++ b/phpBB/search.php
@@ -528,9 +528,7 @@ if ($keywords || $author || $search_id || $search_session_id)
if ($hilit)
{
- // This was shamelessly 'borrowed' from volker at multiartstudio dot de
- // via php.net's annotated manual
- $row['post_text'] = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace('#\b(" . str_replace('\\', '\\\\', $hilit) . ")\b#i', '\\\\1', '\\0')", '>' . $row['post_text'] . '<'), 1, -1));
+ $row['post_text'] = preg_replace('#(?!<.*)(?]*>)#i', '\1', $row['post_text']);
}
$row['post_text'] = smiley_text($row['post_text']);
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index 52c2c2c128..b9bd6810ab 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -1171,9 +1171,7 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
// Highlight active words (primarily for search)
if ($highlight_match)
{
- // This was shamelessly 'borrowed' from volker at multiartstudio dot de
- // via php.net's annotated manual
- $message = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace('#\b(" . str_replace('\\', '\\\\', addslashes($highlight_match)) . ")\b#i', '\\\\1', '\\0')", '>' . $message . '<'), 1, -1));
+ $message = preg_replace('#(?!<.*)(?]*>)#i', '\1', $message);
}
if ($row['enable_html'] && $auth->acl_get('f_html', $forum_id))