Portail collaboratif de partage de la connaissance
Bienvenue sur A525G, un portail collaboratif que tout le monde peut faire évoluer.
informatique
J'ai eu dernièrement à faire une application de forum de discussion. Je devais faire du WordWrap (retour à la ligne automatique) dans le cas où les utilisateurs entreraient des mots trop longs qui pourraient briser la mise en page du forum. J'ai donc fait quelques recherches et j'ai découvert une fonction tout à fait fabuleuse qui se nomme wordwrap et qui faisait exactement ce que je voulais. Je vous ai donc concocté un petit article pour vous parler de cette fonction PHP wordwrap.
string wordwrap ( string str [, int width [, string break [, bool cut]]] )
Notez que le paramètre optionnel cut a été ajouté en PHP 4.0.3.
La fonction wordwrap retourne la chaîne de caractère passée en paramètre après y avoir inséré le caractère break tous les width caractères.
| Listing 1.0 - exemple fonction wordwrap en PHP |
| <?php $texte = "A525G est vraiment un site excellent."; $textewordwrap = wordwrap($texte,20); echo "$textewordwrap"; ?> |
Voici le résultat de l'exemple ci-dessus.
A525G est vraiment
un site excellent.
| Listing 2.0 - exemple 2 - fonction wordwrap en PHP |
| <?php $texte = "Un mot très looooooooooooooong."; $textewordwrap = wordwrap($texte, 5, "\n", 1); echo "$textewordwrap"; ?> |
Voici le résultat de notre second exemple d'utilisation de la fonction wordwrap.
Un
mot
très
loooo
ooooo
ooooo
ong.
Il arrive souvent que les tableaux HTML qui contiennent des cellules de largeur fixes posent des problèmes. En effet, lorsqu'elles contiennent des mots dont la longueur dépasse la largeur fixée, ces cellules s'élargissent automatiquement.
Malheureusement, la fonction wordwrap en PHP ne pourra pas être utile à 100% pour ce problème, car bien qu'elle puisse couper une chaîne après un nombre de caractères précis, elle ne peut pas le faire pour un nombre de pixels.
Pour contrer ce problème, je vous suggère d'utiliser style="table-layout:fixed". Si vous ajoutez cet attribut dans votre balise table, les mots trop longs seront automatiquement coupé pour permettre à la cellule de conserver sa taille.
Auteur : Sylvain Bilodeau
Date de mise en ligne : 2007-02-26
Réagir à cet article
Aucun commentaire pour l'instant.