summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2012-04-20 21:42:53 +0200
committerAndreas Gohr <andi@splitbrain.org>2012-04-20 21:42:53 +0200
commit8a803cae76e430dc0f358986db3420ef45049370 (patch)
tree2c544b5bb06ef0e5de0e72c111c5814f2daeb1e6 /inc
parent921ba557ebfbe154e3771715471d9f65630a464b (diff)
downloadrpg-8a803cae76e430dc0f358986db3420ef45049370.tar.gz
rpg-8a803cae76e430dc0f358986db3420ef45049370.tar.bz2
some edge case checking in search result highlighting
Diffstat (limited to 'inc')
-rw-r--r--inc/fulltext.php2
-rw-r--r--inc/html.php7
2 files changed, 7 insertions, 2 deletions
diff --git a/inc/fulltext.php b/inc/fulltext.php
index 620237296..8f4db111d 100644
--- a/inc/fulltext.php
+++ b/inc/fulltext.php
@@ -405,6 +405,8 @@ function ft_snippet_re_preprocess($term) {
}else{
$term = $term.'\b';
}
+
+ if($term == '\b' || $term == '\b\b') $term = '';
return $term;
}
diff --git a/inc/html.php b/inc/html.php
index 022cd792a..be5666353 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -280,8 +280,11 @@ function html_draft(){
* @author Harry Fuecks <hfuecks@gmail.com>
*/
function html_hilight($html,$phrases){
- $phrases = array_filter((array) $phrases);
- $regex = join('|',array_map('ft_snippet_re_preprocess', array_map('preg_quote_cb',$phrases)));
+ $phrases = (array) $phrases;
+ $phrases = array_map('preg_quote_cb', $phrases);
+ $phrases = array_map('ft_snippet_re_preprocess', $phrases);
+ $phrases = array_filter($phrases);
+ $regex = join('|',$phrases);
if ($regex === '') return $html;
if (!utf8_check($regex)) return $html;