document.write :(

Romain974
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 02:35

Bonsoir,
Voila j'ai un site qui permet au utilisateur de mettre en ligne une description avec des photos tout sa en html via un editeur wysiwyg.
Le contenu est donc defois un peu spéciale....

Mon but est de protéger au maximum le contenu de leurs fiches.

Pour cela j'ai desastiver le bouton droit de la souris via du javascript mais en desactivant celui si sa ne sert plus a rien c'est pour cela que je ve faire en sorte d'affiche le contenu de la fiche que si le javascript est activer.

voici mon bout de code :

<script language="javascript">
document.write('<? echo $go; ?>');
</script>
<noscript>
fo activer le javascript.....
</noscript>

donc je me sert de document.write pour afficher le contenu de la fiche qui est stocker dans une base de donné au format html.
Les apestrophes posé problème j'ai pu résoudre sa grace a preg_replace en php qui remplace tout les ' par \'
Voila cependant j'ai un probleme certaines fiches ne s'affiche pas et je n'arrive pas a trouver le caractere qui pose probleme donc ma question est la suivante
y a t il des caracteres a éviter avec document.write ??
ou il y a t il a un autre moyen de faire ce que j'ai entrepris ??

En tout cas merci d'avoir lu jusque là :)

Mammouth du PHP | 1885 Messages

02 juin 2005, 03:51

Utilise la fonction addslashes() au lieu de preg_replace()
De plus, si tu utilises document.write(), il faut vérifier qu'il n'y ait aucun retour de ligne dans ta variable puisque document.write() ne supporte par ceux-ci.

:)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Romain974
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 11:34

merci pour t'as reponce je pense que tu as raison c bien les retours a la ligne le probleme il y a t il un moyen de formater le code html de telle façon a suprimer ces retours a la ligne ??

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 juin 2005, 11:52

si tu veut supprimer les retours à la ligne \n\r, tu peut utiliser
$var = nl2br($var);
$var = str_replace("<br>", "", $var);
si c'est les retours de ligne <br>, tu fait :
$var = str_replace("<br>", "", $var);
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

Romain974
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 12:16

merci pour ton interet :)

Ben en faite sa rajoute bien des <br> mais c pas le probleme actuel je m'explique :

$a = 'text1
text2
text3';

voila le bou de code que je recupere dans ma base a caque mot il y a un retour a la ligne pas par <br> mais par un espace et apparement

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

ben il aime pas trop sa :)

Romain974
Invité n'ayant pas de compte PHPfrance

02 juin 2005, 13:28

re je pensai etre sur une piste :

$vara = "ffff ffff fff
ffff ffff ffff
ffff
fff
fff";

$var = str_replace("
", "", $vara);

me retourne ffff ffff fffffff ffff ffffffffffffff

pourtant quand je fais la meme chose sur le cotenant de ma base il ne suprime pas les retour a la ligne.

je suis un peu perdu la

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

02 juin 2005, 13:48

Dans ce que je t'ai proposé, tu as essayé quelle solutions ?
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

Romain974
Invité n'ayant pas de compte PHPfrance

03 juin 2005, 13:46

re:
Ben le premier ajoute des <br> a chaque bout le ligne


le deusieme il se passe rien parceque dans mon code il n'y a pas de <br> dans mon code.

mais dans les deux cas le code source finale ne tiens pas sur une seul ligne