diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-11-16 22:18:42 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-11-16 22:22:13 +0000 |
| commit | 5525e3bc931797ad35af4574307c13efa0ea19e2 (patch) | |
| tree | 2a4d0c82893c5b06f06a22cdb38ae865750a99db /app/Http/RequestHandlers/SearchGeneralPage.php | |
| parent | 4000b59cfd760af391973f731059761b8d3f67b7 (diff) | |
| download | webtrees-5525e3bc931797ad35af4574307c13efa0ea19e2.tar.gz webtrees-5525e3bc931797ad35af4574307c13efa0ea19e2.tar.bz2 webtrees-5525e3bc931797ad35af4574307c13efa0ea19e2.zip | |
Fix: #2411 - search should treat Han characters as separate words
Diffstat (limited to 'app/Http/RequestHandlers/SearchGeneralPage.php')
| -rw-r--r-- | app/Http/RequestHandlers/SearchGeneralPage.php | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/app/Http/RequestHandlers/SearchGeneralPage.php b/app/Http/RequestHandlers/SearchGeneralPage.php index dd11e9bca0..90a9b17295 100644 --- a/app/Http/RequestHandlers/SearchGeneralPage.php +++ b/app/Http/RequestHandlers/SearchGeneralPage.php @@ -30,8 +30,12 @@ use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Server\RequestHandlerInterface; +use function array_filter; use function assert; +use function in_array; use function preg_match; +use function preg_replace; +use function redirect; use function str_replace; use function trim; @@ -194,6 +198,9 @@ class SearchGeneralPage implements RequestHandlerInterface $query = str_replace($match[0], '', $query); } + // Treat CJK characters as separate words, not as characters. + $query = preg_replace('/\p{Han}/u', '$0 ', $query); + // Other words get treated separately while (preg_match('/[\S]+/', $query, $match)) { $search_terms[] = trim($match[0]); |
