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

  FORUM HardWare.fr
  Programmation

  [PHP] Remplacer les retours chariots par des caractères

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Remplacer les retours chariots par des caractères

n°44431
Profil sup​primé
Posté le 03-07-2001 à 17:45:56  answer
 

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]

mood
Publicité
Posté le 03-07-2001 à 17:45:56  profilanswer
 

n°44437
JWhy
je peux plier (héhé)
Posté le 03-07-2001 à 18:05:50  profilanswer
 

document.form.config.value='sdsqdqsd\nd';


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°44438
Profil sup​primé
Posté le 03-07-2001 à 18:10:28  answer
 

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 :):):)

n°44539
Profil sup​primé
Posté le 04-07-2001 à 15:41:46  answer
 

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 :)

n°44569
stb
Posté le 04-07-2001 à 16:34:23  profilanswer
 

faut peut être directement inserer des <br> dans ta base en faisant un nl2br avant insertion ?

n°44579
Profil sup​primé
Posté le 04-07-2001 à 17:00:18  answer
 

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 :)

n°44584
Profil sup​primé
Posté le 04-07-2001 à 17:27:39  answer
 

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 !!!!!!

n°44586
Mara's dad
Yes I can !
Posté le 04-07-2001 à 17:49:32  profilanswer
 

Tes retour chariot, se serait pas des chr(10)+chr(13) ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°44588
Profil sup​primé
Posté le 04-07-2001 à 17:54:48  answer
 

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 :)

n°44593
Mara's dad
Yes I can !
Posté le 04-07-2001 à 18:03:35  profilanswer
 

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)!


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le 04-07-2001 à 18:03:35  profilanswer
 

n°44594
Profil sup​primé
Posté le 04-07-2001 à 18:09:56  answer
 

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 :)

n°44598
Profil sup​primé
Posté le 04-07-2001 à 18:25:54  answer
 

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 ?

n°44602
Mara's dad
Yes I can !
Posté le 04-07-2001 à 18:41:53  profilanswer
 

<?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>" );
?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°44617
plopiche
Posté le 04-07-2001 à 19:58:00  profilanswer
 

c'estle strlen qui me manquait.... merci :)

n°44641
art_dupond
je suis neuneu... oui oui !!
Posté le 04-07-2001 à 23:00:11  profilanswer
 

c'est pas /r pour retour chariot ?


---------------
oui oui
n°44643
plopiche
Posté le 04-07-2001 à 23:32:43  profilanswer
 

Qui est ce plopiche usurpateur ?????
 
 :fou:  :fou:  :fou:  :fou:  :fou:


---------------
Je suis le génial inventeur des lunettes de soleil avec un petit grillage sur les trous de nez permettant de humer le parfum enivrant des fleurs sans respirer un horrible insecte piquant !!! :lol:
n°44645
Mara's dad
Yes I can !
Posté le 04-07-2001 à 23:57:13  profilanswer
 

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 ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°44760
Profil sup​primé
Posté le 05-07-2001 à 12:05:22  answer
 

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 :)))

n°44770
plopiche
Posté le 05-07-2001 à 12:33:26  profilanswer
 

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:


---------------
Je suis le génial inventeur des lunettes de soleil avec un petit grillage sur les trous de nez permettant de humer le parfum enivrant des fleurs sans respirer un horrible insecte piquant !!! :lol:
n°44779
Profil sup​primé
Posté le 05-07-2001 à 13:06:56  answer
 

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.......

n°44780
Mara's dad
Yes I can !
Posté le 05-07-2001 à 13:12:15  profilanswer
 

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


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°44786
Profil sup​primé
Posté le 05-07-2001 à 13:22:10  answer
 

:):):)
 
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]

n°44787
Mara's dad
Yes I can !
Posté le 05-07-2001 à 13:28:55  profilanswer
 

Et $config=str_replace(chr(13),"<br>",$config);
çà donne quoi ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°44789
Profil sup​primé
Posté le 05-07-2001 à 13:34:28  answer
 

ç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]

n°44795
FLY LM
Posté le 05-07-2001 à 13:42:16  profilanswer
 

et ça :
 
$config = preg_replace("/(\n|\n\r)/","<br>", $config);
 
.....???

n°44800
Profil sup​primé
Posté le 05-07-2001 à 13:47:33  answer
 

ça donne ça :
 
"coucou
<br>je
<br>suis
<br>le
<br>
<br>chat"
 
je vais devenir fou.... c pas possible cette histoire...

n°44801
FLY LM
Posté le 05-07-2001 à 13:48:49  profilanswer
 

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]

n°44803
Profil sup​primé
Posté le 05-07-2001 à 13:52:49  answer
 

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]

n°44805
FLY LM
Posté le 05-07-2001 à 13:55:40  profilanswer
 

Non, je remplace la séquence \r\n par un "<br>" et pas \n\r...

n°44806
Mara's dad
Yes I can !
Posté le 05-07-2001 à 13:56:50  profilanswer
 

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 !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°44807
Profil sup​primé
Posté le 05-07-2001 à 14:00:36  answer
 

alors, attends je remet la moulinette et je relance :)
ça va me rendre fou cette histoire :)

n°44813
FLY LM
Posté le 05-07-2001 à 14:09:48  profilanswer
 

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à...

n°44817
Profil sup​primé
Posté le 05-07-2001 à 14:12:36  answer
 

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 :)

n°44844
Mara's dad
Yes I can !
Posté le 05-07-2001 à 15:08:49  profilanswer
 

C'est pas grave pour cette fois... ;)


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] Remplacer les retours chariots par des caractères

 

Sujets relatifs
PHP / ORACLEPHP / ORACLE
[PHP et ORACLE] PB[PHP] Heeeeeeeeeeeeeeeelp plz
[PHP] Forum simple libre de droit[PHP]Upload de fichier et hébergeurs
Question PHP[Php/mysql] : probleme de couleur !!!!!!!!
pb avec les sessions en PHPcomment insérer une image en PHP ????
Plus de sujets relatifs à : [PHP] Remplacer les retours chariots par des caractères


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