Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1421 connectés 

 


Dernière réponse
Sujet : [PHP] Remplacer les retours chariots par des caractères
Mara's dad C'est pas grave pour cette fois... ;)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Mara's dad C'est pas grave pour cette fois... ;)
CQFD :)
 
d'autant qu'avec la moulinette on trouve 13 puis 10 :)))
 
je suis désolé, je vous ai fait iech à cause d'un mauvaise lecture de la moulinette :)
 
merci à tout deux, vous me sauvez la mise :)
FLY LM

elcap a écrit a écrit :

ha ok... tu avais pas inversé.... ça marche !!!!! formidable.... tu peux m'expliquer ? paske c'est bien si ça marche mais si je comprends pas je pourrais pas le réutiliser, et en plus y'a peu d'interêt :)
 
merci encore :)




 
preg_replace() : Rechercher et remplacer par expression régulière (syntaxe PERL je crois...)
 
 
sa constuction:
 
preg_replace(mixed pattern, replacement,subject);
 
Analyse "subject" pour trouver l'expression "pattern" et remplace les résultats par "replacement" .
 
Pour ton cas: le masque de recherche est : la séquence \n ou \r\n
 
pattern vaut alors : "/(\n|\r\n)/" le | c'est le "ou"
 
voilà...

alors, attends je remet la moulinette et je relance :)
ça va me rendre fou cette histoire :)
Mara's dad Y'avais \n\r ce qui fait LF_CR !
Au lieu de \r\n qui nous fait du CR_LF !
 
Si çà marche, c'est que ton caractère mystère est chr(13) + chr(10) et non pas chr(13) tout seul !
 
T'aurras mal lu le résultat de la moulinette !
FLY LM Non, je remplace la séquence \r\n par un "<br>" et pas \n\r...
j'ai peut-être mal lu, mais.... c'est pas la même chose ????
 
ha ok... tu avais pas inversé.... ça marche !!!!! formidable.... tu peux m'expliquer ? paske c'est bien si ça marche mais si je comprends pas je pourrais pas le réutiliser, et en plus y'a peu d'interêt :)
 
merci encore :)

 

[edtdd]--Message édité par elcap--[/edtdd]

FLY LM J'a touvé juste une petite inversion ->
 
 
$config = preg_replace("/(\n|\r\n)/","<br>", $config);  
 
La ça marche !!!

 

[edtdd]--Message édité par fly LM--[/edtdd]

ça donne ça :
 
"coucou
<br>je
<br>suis
<br>le
<br>
<br>chat"
 
je vais devenir fou.... c pas possible cette histoire...
FLY LM et ça :
 
$config = preg_replace("/(\n|\n\r)/","<br>", $config);
 
.....???
ça donne malheureusement ça (j'avais essayé) :
 
"coucou<br>  
je<br>
suis<br>
le<br>
<br>
chat"  
 
idem avec ereg_replace
 
:(:(

 

[edtdd]--Message édité par elcap--[/edtdd]

Mara's dad Et $config=str_replace(chr(13),"<br>",$config);
çà donne quoi ?
:):):)
 
je veux que ma chaine, provenant d'un text area :
 
"coucou
je
suis
le
 
chat"
 
devienne : "coucou<br>je<br>suis<br>le<br><br>chat"
 
comme ça je peux l'afficher dans une page html, ou remplacer les <br> par des \n pour la réafficher dans un text area....
 
seulement ça : $config = nl2br($config);  
ça marche pas.... ça ajoute le <br /> au début de la nouvelle ligne, sans enlever le retour chariot (chr(13)) de la lligne précédente... par ex :
 
"coucou
<br />je
<br />suis
<br />le
<br />
<br />chat"
 
elcap

 

[edtdd]--Message édité par elcap--[/edtdd]

Mara's dad Ton caractère est un chr(13) OK !
 
C'est quoi déja ce que tu veux faire ?

Citation :


C'est peut-être aussi les deux: CR_LF = chr(10)+chr(13)  
 
Sinon, affiche les codes de tous les caractères de ta chaîne avec ord() pour voir ce qu'il y a dedans !  
 
D'autre part, en PHP, le \n est un chr(10) pas un chr(13)!  


 
Verdict de la moulinette :
 
mon caractère mystère est un chr(13) :))))
 
je fais quoi maintenant ? :)
 
elcap.......

plopiche Elcap si je trifougne dans ton PC c'est parce que tu me donnes ton BB à garder et que je suis complètement intox  :D  :D  
 
Au fait, elle va bien mais j'ai pas réussi à la changer  :sol:  :sol:  :sol:
mara's dad, merci :) j'ai vu ça hier soir sur le site phpinfo.net dans les astuces... mais j'avais pas vu qu'on pouvais l'utiliser aussi comme ça :) c bon àsavoir :)
 
Plopiche, c'est moi qui ai répondu hier soir, chez moi, et comme tu te sers de mon pc avec ton pseudo et ben c'est sous ton pseudo que c'est parti, voilà.... t'as qu'a pas tout trifougner mon pc :)))
Mara's dad Presque !
c'est pas /r, mais \r ;)
 
Voir la doc : http://php.net/manual/fr/language.types.string.php
 
Très intéressant à propos des chaînes en php4:
 
Au lieu de faire :
 
$toto="Ceçi est un exemple de \"chaîne\"\navec des doubles guillemets et un Line_Feed !";
 
On peut faire :
 

Code :
  1. $toto=<<<COUCOU
  2. Ceçi est un autre exemple de "chaîne"
  3. avec des doubles guillemets et un Line_Feed !
  4. Mais c'est quand même plus joli comme çà !
  5. COUCOU;


 
Le 'COUCOU' est juste un identifiant arbitraire marquant le début et la fin de chaîne.
Génial non ?

plopiche Qui est ce plopiche usurpateur ?????
 
 :fou:  :fou:  :fou:  :fou:  :fou:
art_dupond c'est pas /r pour retour chariot ?
plopiche c'estle strlen qui me manquait.... merci :)
Mara's dad <?php
for( $i=0; $i<strlen($TaChaine); $i++ )
    echo("Le caractère N°$i est un : " . substr($TaChaine,$i,1) . " dont le code est : " . ord(substr($TaChaine,$i,1)) . "<br>" );
?>
j'arrrive pas à faire ça avec ord... là je voius pas comment passer à la moulinette tout les caractères de la chaine... une idée ?

Citation :


D'autre part, en PHP, le \n est un chr(10) pas un chr(13)!


 
ouais, merci :) je m'étais un peu tout mélangé dans ces trucs :):)
 
je vais essayer le ord(), ok :)

Mara's dad C'est peut-être aussi les deux: CR_LF = chr(10)+chr(13)
 
Sinon, affiche les codes de tous les caractères de ta chaîne avec ord() pour voir ce qu'il y a dedans !
 
D'autre part, en PHP, le \n est un chr(10) pas un chr(13)!
si je reprend ma table ascii...
c'est nouvelle ligne + retour chariot....  
 
hmm.. mais tu sais que tu poses de bonnes questions ?
 
comment le savoir ? mes "retour à la lignes", sont-ce des chr(10) ou des chr(13) ?
 
comment le savoir et comment m'en sortir ?
 
merci :)
Mara's dad Tes retour chariot, se serait pas des chr(10)+chr(13) ?
bon, je me réponds....j'ai essayé avec nl2br pour voir.... ben c'est fou !!! j'ai bien des balises <br /> (étrange cette balise) mais j'ai toujours les retours chariot !!!!!!
non, paske c'est fait pour insérer le texte dans un texte area et celui-ci s'en moque des <br> :)
 
je mettrais les <br> quand y'en aura besoin :)
stb faut peut être directement inserer des <br> dans ta base en faisant un nl2br avant insertion ?
bon, je continue sur ma lancée....
 
pour remplacer les retours chariot par des caractères, je fais ça :  
 
$config = str_replace( chr(13), '\n', $config);  
 
seulement au lieu de me remplacer le retour chariot par un \n, il me rajoute un \n après un retour chariot.  
 
de plus, une fois dans la table, je me suis rendu compte, par phpmyadmin, que les \n étaient remplacés par des retour chariots... résultat j'ai une chaine de caractère avec deux retours chariot là où il devrait y avoir un \n.  
 
Le but final étant d'avoir une chaine que je pourrais envoyer en "value" à un champs de formulaire de type "text" par programme. Quand je voudrais afficher cette chaine en html, le remplacerai les \n par des <br>  
 
Merci,  
Elcap :)
Rahaaaaaaaaaaa !!!!!!!!!!!!
 
merciiiii  :D  :D  :D  :D  
 
mais pourquoi que j'y ai pas pensé ?????? non ne me répondez pas :):):):)
 
si je veux, en php, faire une petite procedure qui me fasse le remplacement tout seul, avec un ereg() par ex.... comment lui indiquer de remplacer un retour à la ligne par un \n ? je ne vois pas comment lui dire "retour à la ligne".... enfin, je vais chercher dans la doc :)
 
meric encore,
elcap :):):)
JWhy document.form.config.value='sdsqdqsd\nd';
voilà j'ai ça dans un événnement onclick :
 
document.form.config.value='sdsqdqsd
d';
 
seulement ça ne marche pas.... par contre  
 
document.form.config.value='sdsqdqsdd';
 
fonctionne... comme si le retour à la ligne empêche le script de fonctionner.... dans ce cas, comment remplir ce type de champs (texte) par code ????
 
merci,
elcap :)

 

[edtdd]--Message édité par elcap--[/edtdd]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR