document.write()

Eléphant du PHP | 351 Messages

11 nov. 2005, 08:27

Voilà je prend des informations à partir d'une base de données, ensuite je les affiches :

document.write('<?php echo $texte; ?>');

Problème c'est que quand le texte contient des \n, ça ne marche pas !

Comment résoudre ce problème ?

Eléphant du PHP | 353 Messages

11 nov. 2005, 09:47

> Problème c'est que quand le texte contient des \n, ça ne marche pas !

Que veut dire "ça ne marche pas" ?

A tout hasard, utilise la fonction nl2br() pour faire des retours à la ligne:
http://www.php.net/nl2br

Eléphant du PHP | 351 Messages

11 nov. 2005, 11:36

ça me donne une erreur javascript : Constante chaîne non terminée !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

11 nov. 2005, 11:39

utilise nl2br pour transformer les \n en <br />

Mais pourquoi n'affiche tu pas directement la valeur plutot que de passer par document.write() ?
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

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

11 nov. 2005, 11:45

document.write('<?php echo nl2br($texte); ?>');
:!: Ce code fonctionne, à condition d'avoir échappé les apostrophes contenus dans ta chaîne $texte... ;)

La remarque de Zeus est pertinente.
Quelle contrainte t'oblige à recourir au Javascript ?

Eléphant du PHP | 351 Messages

11 nov. 2005, 12:12

Pour répondre à zeus, j'utilise document.write() car j'ai besoin d'afficher ce texte sur un autre site !

Le problème c'est que nl2br() met des <br /> mais il y'a toujours des \n