Dernière mise à jour :2008-07-25

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.

Description de la fonction wordwrap

string wordwrap ( string str [, int width [, string break [, bool cut]]] )

Description des paramètres de la fonction wordwrap

  • str - la chaîne que vous désirez couper.
  • width - Le nombre de caractère à calculer avant d'insérer le caractère break. Par défaut, le paramètre width est fixé à 75.
  • break - Le caractère à insérer. Par défaut, le caractère utilisé est \n.
  • cut - Si le paramètre cut est mis à 1, la césure de la chaîne sera toujours à la taille width. Donc, si vous avez un mot qui est plus long que la taille de césure, il sera coupé en morceaux. Ca valeur de défaut est 0.

Notez que le paramètre optionnel cut a été ajouté en PHP 4.0.3.

Valeur de retour de la fonction wordwrap

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.

Exemples d'utilisation de la fonction wordwrap en PHP

Exemple 1

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.

Exemple 2 (utilisation du paramètre cut)

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.

Remarque à propos des tableaux HTML de largeur fixe

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

Aucun commentaire pour l'instant.