saut de ligne pour word

Eléphant du PHP | 153 Messages

12 oct. 2005, 16:47

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 oct. 2005, 20:21

SAlut, a tout hasard essai d'ajouter ceci => "\r\n" pour faire des sauts de ligne.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 153 Messages

13 oct. 2005, 09:20

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

Mammouth du PHP | 19672 Messages

13 oct. 2005, 10:13

Attention, /r/n n'est pas \r\n
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 153 Messages

13 oct. 2005, 10:24

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

Eléphant du PHP | 337 Messages

13 oct. 2005, 10:33

Peut-être en faisant nl2br(), puis : $texte = strreplace("<br />","\r\n",$texte)

Eléphant du PHP | 153 Messages

13 oct. 2005, 10:38

Cela ne marche toujours pas car word n'interprète pas le "\r\n" comme un saut de ligne mais merci quand meme

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 oct. 2005, 10:44

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
Modifié en dernier par mere-teresa le 13 oct. 2005, 10:48, modifié 1 fois.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 oct. 2005, 10:46

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 :oops: ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 153 Messages

13 oct. 2005, 11:19

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.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 oct. 2005, 11:24

C'est peut-être chr() qu'il fallait mettre ?
http://fr3.php.net/manual/fr/function.chr.php
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 153 Messages

13 oct. 2005, 11:28

J'y avais pensé mais le chr n'ajoute pas 98 mais 0 ce qui n'a pas grand intéret non plus.

Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 oct. 2005, 11:28

C'est peut-être chr() qu'il fallait mettre ?
http://fr3.php.net/manual/fr/function.chr.php
Non mais quel boulet #-o ](*,)
Le pire, c'est que je prend le temps d'aller chercher la page et que j'ai pas vérifié
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 oct. 2005, 11:36

Peux tu mettre ton code ?
$ligne .= chr(13).chr(10);

Eléphant du PHP | 153 Messages

13 oct. 2005, 11:45

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