# Historique des modifications

Les modifications suivantes ont été apportées aux classes/fonctions/méthodes de cette extension.

Version | Function | Description
--- | --- | ---
8.4.0 | str_getcsv | Se fier à la valeur par défaut de escape est désormais déprécié.
| str_getcsv | Lève désormais une ValueError si separator, enclosure, ou escape est invalide. Cela imite le comportement de fgetcsv et fputcsv.
| strcspn | Avant PHP 8.4.0, lorsque characters était une chaîne vide, la recherche s'arrêtait incorrectement au premier octet nul dans string.
8.3.0 | number_format | Ajout de la gestion des valeurs négatives pour decimals.
| str_getcsv | Une chaîne vide est renvoyée au lieu d'une chaîne contenant un seul octet nul pour le dernier champ si celui-ci contient uniquement une délimitation non terminée.
| strrchr | Le paramètre before_needle a été ajouté.
| strtok | Émet désormais un E_WARNING lorsque le token n'est pas fourni.
8.2.0 | lcfirst | La conversion de la casse ne dépend désormais plus de la locale définit avec setlocale. Seuls les caractères ASCII seront convertis.
| str_ireplace | Le case folding ne dépend désormais plus de la locale définit avec setlocale. Uniquement du case folding ASCII sera effectué. Les octets non-ASCII seront comparés par leur valeur d'octet.
| str_split | Si string est vide, un tableau vide est désormais retourné. Auparavant, un tableau contenant une seule chaîne vide était retourné.
| strcasecmp | Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.
| strcmp | Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.
| stripos | Le case folding ne dépend désormais plus de la locale définit avec setlocale. Uniquement du case folding ASCII sera effectué. Les octets non-ASCII seront comparés par leur valeur d'octet.
| stristr | Le case folding ne dépend désormais plus de la locale définit avec setlocale. Uniquement du case folding ASCII sera effectué. Les octets non-ASCII seront comparés par leur valeur d'octet.
| strnatcasecmp | Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.
| strnatcmp | Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.
| strncasecmp | Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.
| strncmp | Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.
| strripos | Le case folding ne dépend désormais plus de la locale définit avec setlocale. Uniquement du case folding ASCII sera effectué. Les octets non-ASCII seront comparés par leur valeur d'octet.
| strtolower | La conversion de la casse ne dépend désormais plus de la locale définit avec setlocale. Seuls les caractères ASCII seront convertis.
| strtoupper | La conversion de la casse ne dépend désormais plus de la locale définit avec setlocale. Seuls les caractères ASCII seront convertis.
| substr_compare | Cette fonction ne garantit plus de retourner strlen($string1) - strlen($string2) lorsque les longueurs des chaînes ne sont pas égales, et peut désormais retourner -1 ou 1 à la place.
| ucfirst | La conversion de la casse ne dépend désormais plus de la locale définit avec setlocale. Seuls les caractères ASCII seront convertis.
| ucwords | La conversion de la casse ne dépend désormais plus de la locale définit avec setlocale. Seuls les caractères ASCII seront convertis.
| utf8_decode | Cette fonction a été rendue obsolète.
| utf8_encode | Cette fonction a été rendue obsolète.
8.1.0 | get_html_translation_table | flags à changé de ENT_COMPAT à ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| html_entity_decode | flags à changé de ENT_COMPAT à ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| htmlentities | flags à changé de ENT_COMPAT à ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| htmlspecialchars | flags à changé de ENT_COMPAT à ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| htmlspecialchars_decode | flags à changé de ENT_COMPAT à ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
8.0.0 | convert_cyr_string | Cette fonction a été supprimée.
| convert_uuencode | Antérieur à cette version, tenter de convertir une chaîne vide retournait false pour aucune raison particulière.
| count_chars | Antérieur à cette version, la fonction retournait false en cas d'échec.
| crypt | Le salt n'est plus optionnel.
| explode | explode lancera désormais une ValueError quand le paramètre separator est donné une chaîne vide (""). Précédemment, explode retournait false.
| fprintf | Cette fonction ne renvoie plus false en cas d'échec.
| fprintf | Lance une ValueError si le nombre d'arguments est zéro ; auparavant, cette fonction émettait un E_WARNING.
| fprintf | Lance une ValueError si [width] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| fprintf | Lance une ValueError si [precision] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| fprintf | Lance une ArgumentCountError lorsque moins d'arguments sont donnés que requis ; auparavant, cette fonction émettait un E_WARNING.
| hebrevc | Cette fonction a été supprimée.
| html_entity_decode | encoding est désormais nullable.
| htmlentities | encoding est désormais nullable.
| implode | Passer le separator après array n'est plus supporté.
| levenshtein | Antérieur à cette version, levenshtein devait être appelée avec soit deux soit cinq arguments.
| levenshtein | Antérieur à cette version, levenshtein retournait -1 si l'une des chaînes d'arguments dépassait 255 caractères.
| metaphone | Cette fonction retournait false en cas d'échec.
| money_format | Cette fonction a été supprimée.
| number_format | Antérieur à cette version, number_format accepte un, deux, ou quatre paramètres (mais pas trois).
| parse_str | result n'est plus optionnel.
| printf | Cette fonction ne renvoie plus false en cas d'échec.
| printf | Lance une ValueError si le nombre d'arguments est zéro ; auparavant, cette fonction émettait un E_WARNING.
| printf | Lance une ValueError si [width] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| printf | Lance une ValueError si [precision] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| printf | Lance une ArgumentCountError lorsque moins d'arguments sont donnés que requis ; auparavant, cette fonction émettait un E_WARNING.
| soundex | Antérieur à cette version, appeler la fonction avec une chaîne vide retournait false pour aucune raison particulière.
| sprintf | Cette fonction ne renvoie plus false en cas d'échec.
| sprintf | Lance une ValueError si le nombre d'arguments est zéro ; auparavant, cette fonction émettait un E_WARNING.
| sprintf | Lance une ValueError si [width] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| sprintf | Lance une ValueError si [precision] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| sprintf | Lance une ArgumentCountError lorsque moins d'arguments sont donnés que requis ; auparavant, cette fonction émettait un E_WARNING.
| str_split | Si length est plus petit que 1, une ValueError sera déclenchée; auparavant, une erreur de type E_WARNING était emise, et la fonction retournait false.
| str_word_count | characters est désormais nullable.
| strcspn | length est désormais nullable.
| strip_tags | allowed_tags est désormais nullable.
| stripos | needle accepte désormais une chaîne vide.
| stripos | Passing an entier as needle is no longer supported.
| stristr | needle accepte désormais une chaîne vide.
| stristr | Passing an entier as needle is no longer supported.
| strpos | needle accepte désormais une chaîne vide.
| strpos | Passer un entier comme needle n'est plus supporté.
| strrchr | needle accepte désormais une chaîne vide.
| strrchr | Passing an entier as needle is no longer supported.
| strripos | needle accepte désormais une chaîne vide.
| strripos | Passing an entier as needle is no longer supported.
| strrpos | needle accepte désormais une chaîne vide.
| strrpos | Passing an entier as needle is no longer supported.
| strspn | length est désormais nullable.
| strstr | needle accepte désormais une chaîne vide.
| strstr | Passing an entier as needle is no longer supported.
| substr | length est désormais nullable. Lorsque length est explicitement défini à null, la fonction retourne une sous-chaîne terminant à la fin de la chaîne, alors qu'elle renvoyait auparavant une chaîne vide.
| substr | Cette fonction retourne une chaîne vide où auparavant elle retournait false
| substr_compare | length est désormais nullable.
| substr_count | length est désormais nullable.
| substr_replace | length est désormais nullable.
| vfprintf | Cette fonction ne renvoie plus false en cas d'échec.
| vfprintf | Lance une ValueError si le nombre d'arguments est zéro ; auparavant, cette fonction émettait un E_WARNING.
| vfprintf | Lance une ValueError si [width] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| vfprintf | Lance une ValueError si [precision] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| vfprintf | Lance une ArgumentCountError lorsque moins d'arguments sont donnés que requis ; auparavant, cette fonction émettait un E_WARNING.
| vprintf | Cette fonction ne renvoie plus false en cas d'échec.
| vprintf | Lance une ValueError si le nombre d'arguments est zéro ; auparavant, cette fonction émettait un E_WARNING.
| vprintf | Lance une ValueError si [width] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| vprintf | Lance une ValueError si [precision] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| vprintf | Lance une ArgumentCountError lorsque moins d'arguments sont donnés que requis ; auparavant, cette fonction émettait un E_WARNING.
| vsprintf | Cette fonction ne renvoie plus false en cas d'échec.
| vsprintf | Lance une ValueError si le nombre d'arguments est zéro ; auparavant, cette fonction émettait un E_WARNING.
| vsprintf | Lance une ValueError si [width] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| vsprintf | Lance une ValueError si [precision] est inférieur à zéro ou supérieur à PHP_INT_MAX ; auparavant, cette fonction émettait un E_WARNING.
| vsprintf | Lance une ArgumentCountError lorsque moins d'arguments sont donnés que requis ; auparavant, cette fonction émettait un E_WARNING.
| wordwrap | Si break est une chaîne vide, une ValueError est levée; auparavant, dans ce cas, cela émettait un E_WARNING et retournait false.
7.4.0 | chr | Cette fonction n'accepte plus silencieusement les codepoints non supporté, et casts ces valeurs à 0.
| convert_cyr_string | Cette fonction est obsolète.
| hebrevc | Cette fonction est obsolète.
| implode | Passer separator après les array (i.e. utilisant la signature antérieure) a été rendu obsolète.
| money_format | Cette fonction est obsolète. Utiliser NumberFormatter::formatCurrency à la place.
| str_getcsv | Le paramètre escape interprète désormais une chaîne vide en tant que signal de désactiver le mécanisme d'échappement propriétaire. Auparavant, une chaîne vide était traité comme la valeur par défaut du paramètre.
| strip_tags | allowed_tags accepte désormais un tableau.
7.3.5 | substr_compare | offset peut désormais être égal à la taille de haystack.
7.3.0 | stripos | Passer un entier comme before_needle a été rendu obsolète.
| stristr | Passer un entier comme before_needle a été rendu obsolète.
| strpos | Passer un entier comme before_needle a été rendu obsolète.
| strrchr | Passer un entier comme before_needle a été rendu obsolète.
| strripos | Passer un entier comme before_needle a été rendu obsolète.
| strrpos | Passer un entier comme before_needle a été rendu obsolète.
| strstr | Passer un entier comme before_needle a été rendu obsolète.
7.2.18 | substr_compare | offset peut désormais être égal à la taille de haystack.
7.2.0 | number_format | number_format a été modifié pour ne plus permettre de retourner -0, précédemment -0 pouvait être retourné pour des cas où num valait -0.01.
| parse_str | L'utilisation de parse_str sans le second argument émet une note E_DEPRECATED.
| utf8_decode | Cette fonction a été déplacée dans le cœur de PHP ; auparavant, il était nécessaire d'installer l'extension XML pour l'utiliser.
| utf8_encode | Cette fonction a été déplacée dans le cœur de PHP, auparavant, il était nécessaire d'installer l'extension XML pour l'utiliser.
7.1.0 | str_shuffle | L'algorithme de randomisation a été modifié pour utiliser le Générateur de Nombre Aléatoire Mersenne Twister à la place de la fonction rand de libc.
| stripos | Ajout du support des nombres négatifs pour le paramètre offset.
| strpos | Ajout du support des nombres négatifs pour le paramètre offset.
| substr_count | Ajout du support des nombres négatifs pour offset et length. length peut aussi être 0 maintenant.