Cheatsheet Php String
Vendredi 02 Juin 2023 08:30

Cheatsheet Php String

Dans ce post, je vous regroupe les fonctions natives les plus utilisées en php mais aussi certaines fonctions plus custom mais bien utiles.

Une nouvelle fois, je ne réinvente pas la roue et ne peux que vous conseiller de bien consulter la documentation officielle.

Fonction native

Les fonctions natives font partie de php et sont donc appelable d’où vous voulez!

strlen

Vous retourne la taille de la chaîne passée en paramètre.
https://www.php.net/manual/fr/function.strlen.php

$str = 'azerty';
echo strlen($str); // 6

str_replace

Permet de remplacer toutes les occurrences d’un string dans un autre string.
https://www.php.net/manual/fr/function.str-replace.php

$str = "Hello world!";
$str = str_replace("world", "John", $str);
echo $str; // Hello John!

substr

Retourne une partie d’un string en fonction de la position et départ et la longueur (optionnel).
https://www.php.net/manual/fr/function.substr.php

$str = "Hello world!";
echo substr($str, 0, 5); // Hello
echo substr($str, 5); // world

explode

Transformer simplement un string en array à condition d’avoir un élément, telle qu’une virgule, permettant de faire la séparation.
https://www.php.net/manual/fr/function.explode.php

$str = "Bulbizarre, Salamèche, Carapuce";
$arr = explode(",", $str);
echo $arr[0]; // Bulbizarre
echo $arr[1]; // Salamèche

implode

Fonction inverse d’explode(), elle vous permet de créer un string sur base d’un array et d’un élément de séparation.
https://www.php.net/manual/fr/function.implode.php

$arr = array("Bulbizarre", "Salamèche", "Carapuce");
$str = implode(",", $arr);
echo $str; // Bulbizarre,Salamèche,Carapuce

htmlspecialchars

Simple conversion des caractères spéciaux en leur équivalent html.
https://www.php.net/manual/fr/function.htmlspecialchars.php

echo htmlspecialchars(""); // <balise>

addslashes

Permet d’escape les guillemets simples ('), guillemets doubles (") et antislash (\) en rajoutant un antislash.
https://www.php.net/manual/fr/function.addslashes

echo addslashes("It’s magic !"); // It\’s magic !

strip_tags

Nettoie un string en retirant les balises HTML et PHP.
https://www.php.net/manual/fr/function.strip-tags.php

$str = strip_tags("

Bonjour John Doe

"); echo $str; // Bonjour John Doe

Il est possible de spécifier des balises qui ne doivent pas être supprimée

$str = strip_tags("

Bonjour John Doe

", "

"); echo $str; //

Bonjour John Doe

strrev

Inverse une chaîne
https://www.php.net/manual/fr/function.strrev.php

$str = addslashes("Elu par cette crapule");
echo $str; // eluparc ettec rap ulE

ucfirst

Transforme le premier caractère en majuscule
https://www.php.net/manual/fr/function.ucfirst.php

$str = "hello";
echo ucfirst($str); // Hello

ucwords

Transforme le premier caractère de chaque mot en majuscule.
https://www.php.net/manual/fr/function.ucwords.php

$str = "bourg palette";
echo ucwords($str); // Bourg Palette

strtoupper

Transforme tout un string en majuscule.
https://www.php.net/manual/fr/function.strtoupper.php

$str = "hello";
echo strtoupper($str); // HELLO

strtolower

Transforme tout un string en minuscule.
https://www.php.net/manual/fr/function.strtolower.php

$str = "Hello";
echo strtolower($str); // hello

trim

Supprime les espaces (" "), tabulations ("\t"), retours à la ligne ("\n"), retours chariot ("\r"), caractères nul ("\0") et tabulations verticale ("\v") en début et fin de string.
https://www.php.net/manual/fr/function.trim.php

$str = "   Hello world!    ";
echo trim($str); // Hello world!

Fonction custom

Les fonctions suivantes font partie de ma boîte à outils, elles permettent des actions utiles et courantes qui ne sont malheureusement pas natives à php.

Generer un string aléatoire

Il n’existe malheureusement pas de fonction pour générer un simple string aléatoire de X caractères.

Je vous propose donc cette fonction qui prend en paramètre la longueur du string généré et en second paramètre optionnel un string contenant les caractères à utiliser pour la génération.

function randString($length, $charset='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
{
    $str = '';
    $count = strlen($charset);
    while ($length--) {
        $str .= $charset[mt_rand(0, $count-1)];
    }
    return $str;
}
echo randString(10); // nbza5uiR5N
echo randString(10, 'Az12'); // 1z22A1z1Az

Rendre un string compatible pour un nom de fichier ou une url

Les urls ont certaines contraintes importantes à respecter: pas d’espace, pas d’accent (plus tout à fait vrai mais bon), pas de caractères spéciaux,...

Une recherche rapide vous mènera vers la fonction urlencode() qui fera le job… mais votre texte sera difficilement lisible…

echo urlencode("Ça marche mais c'est pas magique…");
// %C3%87a+marche+mais+c%27est+pas+magique...

Et comme vous pouvez le voir, les points sont toujours là.

Je vous propose donc une petite fonction qui cumule plusieurs étape afin de nettoyer un string pour le rendre "url friendly".

public function friendlyName($str) {
    // Enlève les espaces avant et après
    $str = trim($str);
    // Remplace les espaces par des tirets
    $str = str_replace(' ', '-', $str);
    // Remplace les lettres accentuées par des lettres standards
    $str = strtr(utf8_decode($str), utf8_decode('àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁ ÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ'), 'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
    // Enlève les caractères non alpha-numérique à l'exception du tiret et de l’underscore
    $str = preg_replace('/[^A-Za-z0-9\-_]/', '', $str);
    return $str;
}
echo $this->friendlyName("Ça marche et c'est magique...");
// Ca-marche-et-cest-magique

Simple efficace et votre texte est toujours lisible !

Nous utilisons des cookies pour améliorer et personnaliser votre expérience, fournir des publicités pertinentes et analyser les performances du site.

Politique de confidentialité Accepter