Page 1 sur 2
saut de ligne pour word
Posté : 12 oct. 2005, 16:47
par pitt
Bonjour,
Je suis actuellement stagiaire dans un hôpital où je développe un outil de gestion et de suivi des demandes de stage.
Je travaille sous php avec easy php pour l'instant.
Dans ce cadre je dois générer un courrier et cela me pose un problème je n'ai aucun problème pour ouvrir le modèle, écrire dedans et l'enregistrer et ouvrir le courrier généré mais je voudrais dans la chaîne que je génère en php placer des sauts de ligne ou en tout cas quelquechose qui sera interprété comme cela par word cela est nécéssaire car la phrase créée dépend du nombre d'enregistrements correspondants trouvés dans ma base je ne peux donc pas restreindre dans word le nombre de phrase que je vais écrire.
Si je dois vous préciser quelquechose dites le moi et je le ferai dans la mesure du possible.
Merci d'avance
Posté : 12 oct. 2005, 20:21
par Truc
SAlut, a tout hasard essai d'ajouter ceci => "\r\n" pour faire des sauts de ligne.
Posté : 13 oct. 2005, 09:20
par pitt
Merci de ta réponse rapide mais cela ne marche pas.
Quand je fais ca à chaque fois que je souhaiterais passer à la ligne il écrit /r/n .
Si quelqu'un a une idée ca m'intéresse.
Merci
Posté : 13 oct. 2005, 10:13
par Cyrano
Attention, /r/n n'est pas \r\n
Posté : 13 oct. 2005, 10:24
par pitt
Tu as raison mais même si je met "\r\n" soit il ne l'interprète pas soit si j'utilise la fonction nl2br() dans mon script il me place des balises <br /> dans mon courrier mais ne passe pas à la ligne.
Merci
Posté : 13 oct. 2005, 10:33
par finipe
Peut-être en faisant nl2br(), puis : $texte = strreplace("<br />","\r\n",$texte)
Posté : 13 oct. 2005, 10:38
par pitt
Cela ne marche toujours pas car word n'interprète pas le "\r\n" comme un saut de ligne mais merci quand meme
Posté : 13 oct. 2005, 10:44
par mere-teresa
Et en ASCII ?
Existe-t-il un caractère unique en ASCII pour les sauts de ligne ?
Sinon, comment Word code-t-il les sauts de ligne ?
Apparemment, il existe une macro SPIP pour convertir un document Word en HTML pour SPIP, et donc, ils doivent bien "regarder" les sauts de ligne...
http://www.davduf.net/article.php3?id_article=134
Un sujet sur des gens qui manipulent des fichiers txt pour Word :
http://www.macfr.com/forums/lofiversion ... 19303.html
Posté : 13 oct. 2005, 10:46
par zeus
et si tu insérait directement les symboles correspondant aux code ASCII de CR+LF
//Cette instruction ajoute les symbole CR+LF depuis leur code ASCII
$ligne .= ord(13)+ord(10);
Documentation sur ord
EDIT : j'ai pas été assez rapide

Posté : 13 oct. 2005, 11:19
par pitt
et si tu insérait directement les symboles correspondant aux code ASCII de CR+LF
//Cette instruction ajoute les symbole CR+LF depuis leur code ASCII
$ligne .= ord(13)+ord(10);
Cette instruction ajoute 98 dans ma chaine mais ne passe pas de ligne je ne comprends pas.
Posté : 13 oct. 2005, 11:24
par mere-teresa
C'est peut-être chr() qu'il fallait mettre ?
http://fr3.php.net/manual/fr/function.chr.php
Posté : 13 oct. 2005, 11:28
par pitt
J'y avais pensé mais le chr n'ajoute pas 98 mais 0 ce qui n'a pas grand intéret non plus.
Merci
Posté : 13 oct. 2005, 11:28
par zeus
Non mais quel boulet

](*,)
Le pire, c'est que je prend le temps d'aller chercher la page et que j'ai pas vérifié
Posté : 13 oct. 2005, 11:36
par mere-teresa
Peux tu mettre ton code ?
$ligne .= chr(13).chr(10);
Posté : 13 oct. 2005, 11:45
par pitt
voila mon code pour cette partie
while ($tout=mysql_fetch_row($res)){
$req1="select tuteur.nom , tuteur.prenom , tuteur.telephone , service.nom
, batiment.nom from desire_sms , tuteur , service , batiment where
desire_sms.id_des='$tout[0]' and tuteur.id_tut=desire_sms.id_tut and
service.id_ser=tuteur.id_ser and batiment.id_bat=service.id_bat";
$res1=mysql_query($req1);
$coo=mysql_fetch_row($res1);
$phrase.=chr(13).chr(10);
$phrase.="{$coo[4]}{$coo[3]}{$coo[0]} {$coo[1]} {$coo[2]}";
J'éspère que ca vous va