Merge pull request #18302 from mwegrzynek/patch-1

Fix comments search result to work with multibyte strings
This commit is contained in:
blizzz 2019-12-13 15:37:18 +01:00 committed by GitHub
commit 9cafc508d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 5 deletions

View File

@ -82,12 +82,12 @@ class Result extends BaseResult {
* @throws NotFoundException
*/
protected function getRelevantMessagePart(string $message, string $search): string {
$start = stripos($message, $search);
$start = mb_stripos($message, $search);
if ($start === false) {
throw new NotFoundException('Comment section not found');
}
$end = $start + strlen($search);
$end = $start + mb_strlen($search);
if ($start <= 25) {
$start = 0;
@ -97,15 +97,15 @@ class Result extends BaseResult {
$prefix = '…';
}
if ((strlen($message) - $end) <= 25) {
$end = strlen($message);
if ((mb_strlen($message) - $end) <= 25) {
$end = mb_strlen($message);
$suffix = '';
} else {
$end += 25;
$suffix = '…';
}
return $prefix . substr($message, $start, $end - $start) . $suffix;
return $prefix . mb_substr($message, $start, $end - $start) . $suffix;
}
}