1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-04-21 16:22:22 +02:00

[ticket/17387] Add test for when words are separated by a non-space character

PHPBB-17387
This commit is contained in:
Ruben Calvo 2024-09-02 13:52:46 +02:00
parent 66b6a5e1f3
commit 472b36877c
No known key found for this signature in database
2 changed files with 8 additions and 2 deletions

View File

@ -333,7 +333,7 @@ function get_context(string $text, array $words, int $length = 400): string
}
// We need to turn the entities back into their original form, to not cut the message in between them
$text = html_entity_decode($text);
$text = htmlspecialchars_decode($text);
// Replace all spaces/invisible characters with single spaces
$text = preg_replace("/\s+/u", ' ', $text);
@ -414,7 +414,7 @@ function get_context(string $text, array $words, int $length = 400): string
$output[] = utf8_substr($fragment, $fragment_start, $fragment_end - $fragment_start + 1);
}
return ($fragments[0][0] !== 0 ? '... ' : '') . htmlentities(implode(' ... ', $output)) . ($end < $text_length - 1 ? ' ...' : '');
return ($fragments[0][0] !== 0 ? '... ' : '') . htmlspecialchars(implode(' ... ', $output)) . ($end < $text_length - 1 ? ' ...' : '');
}
/**

View File

@ -112,6 +112,12 @@ class phpbb_functions_content_get_context_test extends TestCase
'words' => ['word1', 'word2'],
'length' => 10,
'expected' => 'word1 ... word2',
],
'fruits_spanish' => [
'text' => 'Manzana,plátano,naranja,fresa,mango,uva,piña,pera,kiwi,cereza,sandía,melón,papaya,arándano,durazno',
'words' => ['piña'],
'length' => 20,
'expected' => '... uva,piña,pera, ...',
]
];
}