Mise en forme de chaînes de caractères en PHP
Tutos - 28/07/2015
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 PHPwordwrap
.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 :
. 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' :
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);
Pierrick CUSSET
Autodidacte passionné par le web, je suis toujours à la recherche de nouveaux challenges.
Fondateur de Online-Free-Tools.com.
Commentaires
Pas de commentaire