diff --git a/public/src/client/search.js b/public/src/client/search.js
index c6bc30e44f..6ca5b8dc41 100644
--- a/public/src/client/search.js
+++ b/public/src/client/search.js
@@ -118,25 +118,25 @@ define('forum/search', ['search', 'autocomplete'], function(searchModule, autoco
return;
}
- try {
- var regexStr = searchQuery.replace(/^"/, '').replace(/"$/, '').trim().split(' ').join('|');
- var regex = new RegExp('(' + regexStr + ')', 'gi');
-
- $('.search-result-text').each(function() {
- var result = $(this);
+ var regexStr = searchQuery.replace(/^"/, '').replace(/"$/, '').trim().split(' ').join('|');
+ var regex = new RegExp('(' + regexStr + ')', 'gi');
- var text = result.html().replace(regex, '$1');
- result.html(text).find('img:not(.not-responsive)').addClass('img-responsive').each(function() {
- $(this).attr('src', $(this).attr('src').replace(/([\s\S]*?)<\/strong>/gi, '$1'));
- });
+ $('.search-result-text p, .search-result-text h4').each(function() {
+ var result = $(this), nested = [];
- result.find('a').each(function() {
- $(this).attr('href', $(this).attr('href').replace(/([\s\S]*?)<\/strong>/gi, '$1'));
- });
+ result.find('*').each(function() {
+ $(this).after('');
+ nested.push($('').append($(this)));
});
- } catch(e) {
- return;
- }
+
+ result.html(result.html().replace(regex, '$1'));
+
+ for (var i = 0, ii = nested.length; i < ii; i++) {
+ result.html(result.html().replace('', nested[i].html()));
+ }
+ });
+
+ $('.search-result-text').find('img:not(.not-responsive)').addClass('img-responsive');
}
function handleSavePreferences() {