remplacer x caractères en x autres caractères [PHP] - PHP - Programmation
Marsh Posté le 23-05-2002 à 00:22:38
ça fct pas l'édition de la catégorie du message ????
ha non ok, ça se rajoute pas automatiquement dans le sujet avec [categorie]... désolé c mon premier post depuis le nouveau système
[jfdsdjhfuetppo]--Message édité par ethernal le 23-05-2002 à 00:24:12--[/jfdsdjhfuetppo]
Marsh Posté le 23-05-2002 à 08:27:18
y a ca sur php.net :
A Quick way of removing excess spaces:
<?
$string = "One Two Three Four";
$var = eregi_replace(" +", " ", $string);
echo $var;
?>
Marsh Posté le 23-05-2002 à 11:16:23
kayasax a écrit a écrit : y a ca sur php.net : A Quick way of removing excess spaces: <? $string = "One Two Three Four"; $var = eregi_replace(" +", " ", $string); echo $var; ?> |
merci pour ta réponse, mais ça ne donne pas le résultat que je désire
ça remplace x espaces par un seul (comme j'ai actuellement)
J'aimerais que
- 1 espace, pas de modification
- 2 espaces ça donne
- 3 espaces ça donne
- etc...
Marsh Posté le 23-05-2002 à 14:28:45
bah tu remplace tous les espaces
que ca soit un " " ou un " " ca change rien
Marsh Posté le 23-05-2002 à 14:34:22
bof, ça prend bcp de place (5car à la place d'un seul)...
Marsh Posté le 23-05-2002 à 14:39:40
$var = eregi_replace(" ( {1,})"," \\1",$var);
chui pa sur g fait ca a la volée ...
Marsh Posté le 23-05-2002 à 15:19:28
ça ne transforme pas les espaces en
en décomposant il faudrait une partie qui extrait les suites d'espaces >2 et une autre qui les remplace par ...
genre
$var= eregi_replace("( {1,})",
str_replace(' ', ' '," \\1" ),
$var);
mais ça fct pas
Marsh Posté le 23-05-2002 à 20:19:24
il faut transformer
AA A A A A ----> AA A A A A
ou si vous préférez : AA A A A A -----> AA AxxAxxxxA A
Help please
[jfdsdjhfuetppo]--Message édité par ethernal le 23-05-2002 à 20:20:02--[/jfdsdjhfuetppo]
Marsh Posté le 23-05-2002 à 21:19:32
Pour l'indentation du contenu d'un textarea vers un affichage html de façon à respecter la personne qui s'est amusé à structurer son msg pour le rendre plus lisible.
à moins qu'il existe une <font> qui permet d'afficher en indentant sans rien ajouter ? (<code></code> par exemple ?)
mais bon tout mettre en <code></code> c pas terrible non plus
Marsh Posté le 24-05-2002 à 14:53:23
ethernal a écrit a écrit : Pour l'indentation du contenu d'un textarea vers un affichage html de façon à respecter la personne qui s'est amusé à structurer son msg pour le rendre plus lisible. à moins qu'il existe une <font> qui permet d'afficher en indentant sans rien ajouter ? (<code></code> par exemple ?) mais bon tout mettre en <code></code> c pas terrible non plus |
bah tu definis un style pour le textarea et le tour est joué
Marsh Posté le 24-05-2002 à 14:58:14
ninja sky a écrit a écrit : bah tu definis un style pour le textarea et le tour est joué |
tu vois qd tu postes ici, look le code de la page :
ça indente, il devrait y avoir plusieurs espaces dans le code
tandis qu'entre chaque mot, il n'y a pas de
qu'entends tu par style sur le textarea ?
[jfdsdjhfuetppo]--Message édité par ethernal le 24-05-2002 à 14:59:18--[/jfdsdjhfuetppo]
Marsh Posté le 24-05-2002 à 15:01:52
ethernal a écrit a écrit : tu vois qd tu postes ici, look le code de la page : ça indente, il devrait y avoir plusieurs espaces dans le code tandis qu'entre chaque mot, il n'y a pas de qu'entends tu par style sur le textarea ? |
heu ouais nan rien
mais je vois tjs pas l'interet de ta transformation
Marsh Posté le 24-05-2002 à 15:08:21
des espaces a la suite peuvent etre tronques par un saut de ligne pas les   (si g bien compris)
Marsh Posté le 24-05-2002 à 15:34:57
suis si movais que ça en explication ??
je veux mettre de l'indentation lors de l'affichage (en html donc) des messages que les utilisateurs envoient (par l'intermédiaire d'un formulaire avec textarea).
C'est un classique non ?? rassurez moi ??
Si je remplace tout les ' ' par '&nbps;', entre chaque mot il va m'en taper un !! (ça alourdi bien une page, je dois dire que j'ai rarement vu mieux ).
Dans du code html, tu peux mettre une suite de 40 espaces, lorsque tu vas le lire avec un browser, tu auras l'impression qu'il n'y en a qu'1 seul (si tu regardes le code, il y en a bien 40).
D'ou la nécessité de remplacer une suite d'espaces ' ' en ' ...'.
[jfdsdjhfuetppo]--Message édité par ethernal le 24-05-2002 à 15:35:54--[/jfdsdjhfuetppo]
Marsh Posté le 28-05-2002 à 23:19:16
moi j'ai super bien compris ton pb, mais je vois vraiment pas comment faire dans la pratique.
faut rechercher les suites de plus de deux espaces et les extraire (regexp)
compter le nombre d'espace
remplacer chaque occurence par
Marsh Posté le 29-05-2002 à 01:14:20
thx au moins je ne suis pas aussi mauvais qu'ils veulent me le faire croire
je vais finir par abandonner
[test on]
indentation on
123456789
6
3
2
4
8
123456789
[/test on]
bon bha on va appliquer le principe de ce forum de référence
$string= str_replace(' ',' ', $string);
[jfdsdjhfuetppo]--Message édité par ethernal le 29-05-2002 à 01:24:36--[/jfdsdjhfuetppo]
Marsh Posté le 29-05-2002 à 08:29:25
dans ce cas ta ligne peut faire 10 000 caracteres nan ??
Marsh Posté le 29-05-2002 à 11:28:39
pq ?
si tu parles de césure, comme pour deux espaces introduits par l'utilisateur, je met un espace et un , la ligne sera coupée automatiquement en fct de la mise en page.
je comprends pas trop la question ? (à mon tour )
Marsh Posté le 29-05-2002 à 11:35:20
a pardon j'avais vu remplacer chaque espace par un   je comprenais plus la c ok
Marsh Posté le 29-05-2002 à 11:50:05
cété la parade qui tue
Marsh Posté le 23-05-2002 à 00:21:04
hello,
je suis une nouille en expression régulière (g pas encore tout assimilé) alors comment remplacer x caractères en x autres caractères ?
j'aurais besoin de transformer les espaces s'il y en a plus que 2 en je sais remplacer toujours les espaces par 2 espaces avec $string= ereg_replace("[ ]{2,}",' ', $string);
thx
[jfdsdjhfuetppo]--Message édité par ethernal le 23-05-2002 à 00:23:23--[/jfdsdjhfuetppo]
---------------
...oups kernel error...