Page 1 sur 1

document.write :(

Posté : 02 juin 2005, 02:35
par Romain974
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à :)

Posté : 02 juin 2005, 03:51
par Xenon_54
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.

:)

Posté : 02 juin 2005, 11:34
par Romain974
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 ??

Posté : 02 juin 2005, 11:52
par zeus
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);

Posté : 02 juin 2005, 12:16
par Romain974
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 :)

Posté : 02 juin 2005, 13:28
par Romain974
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

Posté : 02 juin 2005, 13:48
par zeus
Dans ce que je t'ai proposé, tu as essayé quelle solutions ?

Posté : 03 juin 2005, 13:46
par Romain974
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