Ajouter un espace tous les X caractères, si il n'y en a pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ajouter un espace tous les X caractères, si il n'y en a pas

par Invité » 27 nov. 2008, 21:00

pourquoi la réponse de Victor ne te convient pas ?

selon toi, que devrait donner la chaine 'ab cd efghijkl mnopqrst uvwx yz' si X=4 ?

par VaN » 27 nov. 2008, 19:41

Il faut d'abord que j'arrive à savoir si un espace a été trouvé dans les X premiers caractères, puis dans les X second, avant de penser à en ajouter un si il n'y en a pas.

par AB » 26 nov. 2008, 21:56

Sinon il y a wordwrap() pour un fonctionnement différent de la fonction qu'indique Victor ... à toi de voir ce que tu veux exactement.

par Victor BRITO » 26 nov. 2008, 19:10

Avec les expressions régulières, il y a de quoi s'amuser. ;)
$lachaine = 'ab cd efghijkl mnopqrst uvwx yz';
// On ajoute une espace tous les 4 caractères si l'ensemble de 4 caractères n'en contient pas déjà
$nouvellechaine = preg_replace ("/([^[:space:]]{4})/", '\1 ', $lachaine);
echo $nouvellechaine; // Affiche ab cd efgh ijkl mnop qrst uvwx yz
J'ignore si c'est ce que tu veux obtenir exactement ; mais, ce bout de code marche.

Ajouter un espace tous les X caractères, si il n'y en a pas

par VaN » 26 nov. 2008, 16:14

Bonjour,

je souhaite créer une fonction qui me permette d'ajouter un espace dans une chaine de caractères, tous les X caractères, si dans ces X caratères, aucun espace n'a été trouvé, et ainsi de suite, sur toute la longueur du string.

Mais j'ai du voir comment créer ce genre de fonction, et je ne crois pas qu'il existe de fonction de ce genre, native à PHP.

Quelqu'un pourrait-il me dire comment faire ?