mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/17387] Add test for when words are separated by a non-space character
PHPBB-17387
This commit is contained in:
parent
66b6a5e1f3
commit
472b36877c
2 changed files with 8 additions and 2 deletions
|
@ -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
|
// 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
|
// Replace all spaces/invisible characters with single spaces
|
||||||
$text = preg_replace("/\s+/u", ' ', $text);
|
$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);
|
$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 ? ' ...' : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -112,6 +112,12 @@ class phpbb_functions_content_get_context_test extends TestCase
|
||||||
'words' => ['word1', 'word2'],
|
'words' => ['word1', 'word2'],
|
||||||
'length' => 10,
|
'length' => 10,
|
||||||
'expected' => 'word1 ... word2',
|
'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, ...',
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue