Traitement des chaines de caractères

Il est fréquent en PHP de devoir travailler avec les chaines de caractère.
Nous allons voir ici les fonctions les plus utilisées.

Le nombre de fonctions traitants les chaînes de caractères étant énorme, il nous est impossible de les aborder toutes ici.
N'oubliez pas de consulter le site php.net pour plus d'informations.

addslashes()

Ajoute des anti-slash dans une chaîne

$str = "Votre nom est-il O'reilly ?";
echo addslashes($str); // Votre nom est-il O\'reilly ?

stripslashes()

Supprime les anti-slash d'une chaîne

$str = "Avez-vous l\'oreille dure?";
echo stripslashes($str); // Avez-vous l'oreille dure?

htmlentities()

Convertit tous les caractères éligibles en entités HTML

$str = "Un 'apostrophe' en <strong>gras</strong>";
echo htmlentities($str); // Un 'apostrophe' en &lt;strong&gt;gras&lt;/strong&gt;
$str = "Un 'apostrophe' en <strong>gras</strong>";
echo htmlentities($str, ENT_QUOTES); // Un &#039;apostrophe&#039; en &lt;strong&gt;gras&lt;/strong&gt;

htmlspecialchars()

Convertit les caractères spéciaux en entités HTML

$str = "<a href='test'>Test</a>";
echo htmlspecialchars($str, ENT_QUOTES); // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;

Presque identique à htmlentities() à la différence qu'il ne remplace que :

  • "&" (et commercial) devient "&amp;"
  • """ (guillemets doubles) devient "&quot;" lorsque ENT_NOQUOTES n'est pas utilisée
  • "'" (single quote) devient "&#039;" uniquement lorsque ENT_QUOTES est utilisée
  • "<" (inférieur à) devient "&lt;"
  • ">" (supérieur à) devient "&gt;"

nl2br()

Insère un retour à la ligne à chaque nouvelle ligne

$str = "foo n'est pas\n bar"; // "\n" est un retour à la ligne
echo nl2br($str);

Affichera :

foo n'est pas<br />
bar

strtolower()

Renvoie une chaîne en minuscule

$str = "Marie A un Petit Agneau, et l'aime TRès fORt.";
echo strtolower($str); // marie a un petit agneau, et l'aime très fort.

strtoupper()

Renvoie une chaîne en majuscule

$str = "Marie A un Petit Agneau, et l'aime fORt.";
echo strtoupper($str); // MARIE A UN PETIT AGNEAU, ET L'AIME FORT.

Note : Très aurait été converti en TRèS

ucfirst()

Met le premier caractère en majuscule

$str = "bonjour tout le monde!";
echo ucfirst($str); // Bonjour tout le monde!

ucwords()

Met en majuscule la première lettre de tous les mots

$str = "bonjour tout le monde!";
echo ucwords($str); // Bonjour Tout Le Monde!

strstr()

Trouve la première occurrence dans une chaîne

$email = 'user@example.com';
$domaine = strstr($email, '@');
echo $domaine; // @example.com

Note : strstr() est sensible à la casse.
Pour une fonctionnalité identique, mais insensible à la casse, reportez-vous à stristr().

strlen()

Calcule la taille d'une chaîne

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

strpos()

Trouve la position d'un caractère dans une chaîne

$str = 'abcdef';
echo strpos($str, 'e'); // 4

Note : le premier caractère a la position 0

trim()

Supprime les espaces (ou d'autres caractères) en début et fin de chaîne

$str = "\n\tVoici quelques mots.  ";
echo trim($str); // Voici quelques mots.

chunk_split()

Scinde une chaîne

$str = "abcdefghijklmnopqrstuvwxyz";
echo chunk_split($str, 10);

Affichera :

abcdefghij
klmnopqrst
uvwxyz
$str = "abcdefghijklmnopqrstuvwxyz";
echo chunk_split($str, 10, "+"); // abcdefghij+klmnopqrst+uvwxyz+

explode()

Coupe une chaîne en segments

$str = 'un|deux|trois|quatre';
$array = explode("|", $str);
echo $array[2]; // trois

Note : $array[0] contient un

implode()

Rassemble les éléments d'un tableau en une chaîne

$array = array('un', 'deux', 'trois', 'quatre');
$str = implode("|", $array);
echo $str; // un|deux|trois|quatre

Et voilà

J'espère que cette page vous servira autant qu'à moi.
Mais n'oubliez surtout pas d'aller voir le site php.net car c'est le seul a être aussi complet ;)

comments powered by Disqus