Mise en forme de chaînes de caractères en PHP

  Tutos   -   28/07/2015


Ce tutoriel va vous montrer comment mettre en forme une chaîne de caractères en PHP. Ici on parlera de sauts de lignes, césures, d'espaces, majuscules et minuscules.

Les différents bouts de code permettront, sur une chaîne de caractères, de :
  • Ajouter des retours à la ligne en HTML à chaque saut de ligne
  • Couper des chaînes de caractères en longueur spécifiques (en coupant les mots ou non...)
  • Ajouter des espaces en HTML
  • Mettre toutes les lettres en majuscule
  • Mettre toutes les lettres en minuscule
  • Mettre la première lettre en majuscule et toutes les autres en minuscule
  • Mettre toutes les premières lettres des mots en majuscule et le reste en minuscule

Ajouter des retours à la ligne en HTML à chaque saut de ligne

Ce code vous sera utile quand par exemple vous utiliser un texte saisie dans la zone de texte (textarea en HTML) d'un formulaire et que vous l'affichez. Si vous essayez de l'afficher directement, il n'y aura pas les sauts de ligne et le texte ne formera qu'un unique bloc.
Pour que les sauts de lignes soient affichés en HTML, il suffit d'utiliser la fonction PHP nl2br qui remplace les caractères de sauts de ligne \n, \r en sauts de ligne HTML <br>.

Exemples d'utilisation de la fonction nl2br :

// Exemple #1
$string = "Ligne 1\nLigne 2\nLigne 3";
echo nl2br($string);

// Exemple #2
$string = "Ligne 1
Ligne 2
Ligne 3";
echo nl2br($string);


Couper des chaînes de caractères en longueur spécifiques

Pour couper un texte en ligne de longueur spécifiques, il suffit d'utiliser la fonction PHP wordwrap.

Le premier paramètre est la chaîne de caractère et le deuxième la longueur souhaitée. Le troisième paramètre est optionnel, par défaut la valeur est \n, il s'agit du type de saut de ligne. Si vous souhaitez afficher le texte en question en HTML, il est préférable de mettre tout de suite <br>. Autrement vous devrez passez plus tard par la fonction nl2br.Le quatrième et dernier paramètre est un booléen indiquant si les mots doivent être coupés ou non si la longueur est atteinte avant leur fin.

$string = "Ceci est le texte que nous allons couper avec ce looooooooooong mot.";
echo "#1 : ".wordwrap($string, 10)."<br><br>";
echo "#2 : ".wordwrap($string, 10, "<br>")."<br><br>";
echo "#3 : ".wordwrap($string, 10, "<br>", true)."<br><br>";

Résultat:

#1 : Ceci est le texte que nous allons couper avec ce looooooooooong mot.

#2 : Ceci est
le texte
que nous
allons
couper
avec ce
looooooooooong
mot.

#3 : Ceci est
le texte
que nous
allons
couper
avec ce
looooooooo
oong mot.


Ajouter des espaces en HTML

Le caractère d'espace en HTML est très simple, c'est : &nbsp;. Vous pouvez en mettre autant que vous le souhaitez pour faire une tabulation par exemple. Il reste toutefois recommandé d'utiliser les fonction style margin, padding, ou text-indent.

Mettre toutes les lettres en majuscule


$string = "Voici une PETITE phraSE tEst.";
echo strtoupper($string);

Le résultat sera :
VOICI UNE PETITE PHRASE TEST.

Mettre toutes les lettres en minuscule


$string = "Voici une PETITE phraSE tEst.";
echo strtolower($string);

Le résultat sera :
voici une petite phrase test.

Mettre la première lettre en majuscule et toutes les autres en minuscule


$string = "Voici une PETITE phraSE tEst.";
echo ucfirst($string);

Le résultat sera :
Voici une petite phrase test.

Mettre toutes les premières lettres des mots en majuscule et le reste en minuscule


$string = "Voici une PETITE phraSE tEst.";
echo ucwords($string);

Le résultat sera :
Voici Une Petite Phrase Test.

A noter que les caractères spéciaux comme 'é', 'à', 'ù' ou 'è' ne sont pas convertis.
Toutefois, vous pouvez vous débarrasser des caractères spéciaux de ce type en utilisant une fonction comme celle-ci qui remplate le 'ç' en 'c' et le 'ù' en 'u' :
$string = "Comment ça se passe ? Où es-tu ?.";
$string = preg_replace(array('/ç/', '/ù/'), array('c', 'u'), $string);


Tags :  
PHP
  


Autodidacte passionné par le web, je suis toujours à la recherche de nouveaux challenges.
Fondateur de Online-Free-Tools.com.



  Commentaires


Pas de commentaire

Ajouter un commentaire




 FR     EN  

Copyright 2021 -   Contact us - 28/11/2021 18:25:45