Difference entre str_replace et strtr
Bonjour
Ma question est dans le titre :D
doc :
https://www.php.net/manual/fr/function.str-replace.php
https://www.php.net/manual/fr/function.strtr.php
Pour moi les deux font exactement la même chose ?
Je demande car je fais une petite fonction pour obtenir un token JWT qui soit sans caractère spéciaux (c'est pour une utilisation dans l'url, validation des adresses emails de clients bref) et il y a déjà une librairie qui fait ce genre de chose :
https://github.com/firebase/php-jwt/
et voici la fonction qu'ils utilisent dans la librairie :
Code:
1 2 3 4 5 6 7 8 9 10 11
| /**
* Encode a string with URL-safe Base64.
*
* @param string $input The string you want encoded
*
* @return string The base64 encode of what you passed in
*/
public static function urlsafeB64Encode(string $input): string
{
return \str_replace('=', '', \strtr(\base64_encode($input), '+/', '-_'));
} |
fichier php : /blob/main/src/JWT.php | ligne 378.
En gros, je cherche a décortiquer cette "simple" fonction..
Merci.