[Résolu] regex: faire saut de ligne toute les x lettres

Eléphant du PHP | 250 Messages

25 oct. 2011, 17:18

Bonjour
Petit problème (sans doute très bête :mrgreen: ) de regex que je soumet à votre sagacité..
Je souhaite transformer en lien une suite de lettres (l'alphabet complet en fait). J'ai donc écrit ceci:
<?php 
for ($i=ord("A");$i<ord("Z");$i++)
   {
      $alpha = (chr($i));
	  $transforme = preg_replace('/[[:alpha:]]/i', '<a href="">'.$alpha.'</a>', $alpha);
	  echo $transforme;

   }
?>
Ok , ça fonctionne, toutes mes lettres sont bien transformées en lien...MAIS:
Je voudrai un saut de ligne après 8 lettres, soit un affichage tel que:
A B C D E F G H
I J K L M N O P
Q R S T U V W X
Y Z
Quelle serait alors la syntaxe à utiliser? Ou quelle fonction php serait la plus à même de répondre à mon souhait....?
Merci d'avance de vos avis et pistes.
Modifié en dernier par Boro64 le 26 oct. 2011, 10:18, modifié 1 fois.
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

ViPHP
xTG
ViPHP | 7331 Messages

25 oct. 2011, 18:34

Tu ne trouveras pas de fonction toute faite, ce n'est que de la bonne vieille logique algorithmique. :)

Code : Tout sélectionner

Pour i allant de 1 à n Faire SI i modulo 8 == 0 Alors Faire un saut de ligne Fin Si Affichage .... Fin Pour
En l’occurrence un modulo sur la valeur de ta boucle conviendra.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 oct. 2011, 21:47

Sinon il y a la fonction wordwrap() de php qui me semble pas mal pour cela :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 250 Messages

26 oct. 2011, 10:17

Bonjour
Et merci pour vos réponses!
@Ryle: J'avais bien pensé à cette solution, mais sans arriver à la maîtriser :mrgreen:
J'ai donc (simplement?) opté pour une définition de l'affichage via les css...
Merci encore de votre aide.
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."