Valider 0705e551 rédigé par marcimat's avatar marcimat Validation de cerdic
Parcourir les fichiers

Correction de label_nettoyer() pour ne pas qu’il mange certains caractères utf8.

trim() n’est pas multibytes : on doit donc utiliser preg si on veut enlever un éventuel `\u{a0}`.
Cela dit ce caractère n’est pas présent dans les chaines de langues SPIP, mais ça permet d’utiliser
peut être label_nettoyer() pour d’autres utilisations dont on connait moins la source.
parent 2c90e6e0
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+1 −4
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -5481,10 +5481,7 @@ function identifiant_slug($texte, $type = '', $options = []) {
 * @exemple `<:info_maximum|label_nettoyer:>`
 */
function label_nettoyer(string $text, bool $ucfirst = true): string {
	$label = rtrim($text, " : \t\n\r\0\x0B\xc2\xa0");
	if ($label and $label[-1] === ';') {
		$label = preg_replace('#(\&nbsp;)+$#', '', $label);
	}
	$label = preg_replace('#([\s:]|\&nbsp;)+$#u', '', $text);
	if ($ucfirst) {
		$label = spip_ucfirst($label);
	}