diff options
author | Guy Brand <gb@unistra.fr> | 2012-09-10 17:04:45 +0200 |
---|---|---|
committer | Guy Brand <gb@unistra.fr> | 2012-09-10 17:04:45 +0200 |
commit | 0f8ac4e8c5872a6b68b350f96a9ecde0291edefa (patch) | |
tree | ad7938bb4143d5e5a38fd7a8d131e4171aec657d /inc/fulltext.php | |
parent | 58ec8fa9128e4581749955de87530f432e387588 (diff) | |
parent | b31fcef02fd24b3e746c9618e77152c7b84c2f2a (diff) | |
download | rpg-0f8ac4e8c5872a6b68b350f96a9ecde0291edefa.tar.gz rpg-0f8ac4e8c5872a6b68b350f96a9ecde0291edefa.tar.bz2 |
Merge branch 'master' into stable
Diffstat (limited to 'inc/fulltext.php')
-rw-r--r-- | inc/fulltext.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/inc/fulltext.php b/inc/fulltext.php index 620237296..eab8850dc 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -394,17 +394,24 @@ function ft_snippet_re_preprocess($term) { return $term; } + // unicode word boundaries + // see http://stackoverflow.com/a/2449017/172068 + $BL = '(?<!\pL)'; + $BR = '(?!\pL)'; + if(substr($term,0,2) == '\\*'){ $term = substr($term,2); }else{ - $term = '\b'.$term; + $term = $BL.$term; } if(substr($term,-2,2) == '\\*'){ $term = substr($term,0,-2); }else{ - $term = $term.'\b'; + $term = $term.$BR; } + + if($term == $BL || $term == $BR || $term == $BL.$BR) $term = ''; return $term; } |