Problème retour à la ligne php -> javascript [Résolu]

zirkan
Messages postés
8
Date d'inscription
dimanche 27 juin 2004
Dernière intervention
30 septembre 2007
- 8 mai 2007 à 01:54 - Dernière réponse : zirkan
Messages postés
8
Date d'inscription
dimanche 27 juin 2004
Dernière intervention
30 septembre 2007
- 8 mai 2007 à 04:17
Bonjour à tous
J'ai une variable php contenant:
blablabla
blabla
(enfin avec un retour à la ligne ).

Le problème c'est que j'ai besoin de la passer en paramètre d'une fonction javascript mais que avec le retour à la ligne ca rate, car le résultat donne quelque chose comme cela:
function mafonction("blablabla
blabla")

En utilisant nl2br ca change rien :
function mafonction("blablabla

blabla")

Il faudrait probablement utiliser preg_replace pour coller les deux morceaux ensemble et rajouter un
, mais je vois pas comment y arriver..

merci de votre aide
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
J_G
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Dernière intervention
28 août 2007
- 8 mai 2007 à 04:03
1
Merci
;) J'ai bien compris que l'erreur n'était pas là...

Mais elle est ici :
alert(<?php echo var_export(nl2br($photo["commentaire"])); ?>)

Pourquoi tu n'as pas essayé ce que j'ai dis ? Pourqui tu utilises var_export sans même savoir comme ça marche, ce que ça fait ? Y a une doc pourtant !

Bon, mais c'est pas grave, voici la soluce... :

header ( 'Content-Type: text/plain' );

$var = "un text\r\nà la con";
$var = str_replace("\r",'',$var); // pas de retour chariot
$var = str_replace("\n",'\n',$var); // on transforme le caractère retour de ligne en \n
$var = str_replace("'","\'",$var); // puis faut pas oublier les apostrophes
echo "alert('$var')";

A+

Merci J_G 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de J_G
J_G
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Dernière intervention
28 août 2007
- 8 mai 2007 à 02:42
0
Merci
Salut, il faut remplacer par \n coté JS... Donc :
function mafonction("blablabla\nblabla");

Voili
Commenter la réponse de J_G
zirkan
Messages postés
8
Date d'inscription
dimanche 27 juin 2004
Dernière intervention
30 septembre 2007
- 8 mai 2007 à 02:58
0
Merci
Heu, je veux bien moi, mais pour remplacer par \n côté js il faut déja qu'une variable js puisse récupèrer le contenu de la variable php hors tout mon problème est là
Commenter la réponse de zirkan
J_G
Messages postés
1406
Date d'inscription
mercredi 17 août 2005
Dernière intervention
28 août 2007
- 8 mai 2007 à 03:06
0
Merci
Oh ben nooon... C'est trop simple, regarde :

<script>
function mafonction(<?php var_export(str_replace( "\n",'\n',$var_php);?>);
</script>

Tu vois. J'utilise var_export pour changer un peu... Mais echo est bien aussi.
A+
Commenter la réponse de J_G
zirkan
Messages postés
8
Date d'inscription
dimanche 27 juin 2004
Dernière intervention
30 septembre 2007
- 8 mai 2007 à 03:43
0
Merci
Je ne connaisais pas var_export c'était une bonne idée mais non vraiment ca va pas..

Voici le code exact, tout d'abord la base de donnée avec la variable php ou se trouve le retour à la ligne:

CREATE TABLE `photomembre` (
  `id` bigint(20) NOT NULL auto_increment,
  `membre` bigint(20) NOT NULL,
  `commentaire` varchar(255) NOT NULL,
  `ext` varchar(4) NOT NULL,
  `confirmer` varchar(4) NOT NULL,
  KEY `id` (`id`,`membre`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1434 ;

--
-- Contenu de la table `photomembre`
--

INSERT INTO `photomembre` (`id`, `membre`, `commentaire`, `ext`, `confirmer`) VALUES
(258, 18, 'voici ma 2e photo\r\nje trouve que c &#039;est une des plus r&eacute;ussie', '.jpg', 'true');

Puis une petite page de test (pour faire plus simple) :

<?php
   
mysql_connect('relax','root','');
mysql_select_db('photomembre');
   
$photo = mysql_fetch_array(mysql_query("SELECT commentaire FROM photomembre WHERE id='258' AND membre='18'"));
   
?>

<html>
<form method="post">

<textarea name="msg" rows="7" cols="70"><?php 

echo var_export(str_replace("\n",'\n',$photo["commentaire"]));

?></textarea>

</form>

<script language = "Javascript">
alert(<?php echo var_export(nl2br($photo["commentaire"])); ?>)
</script>
</html>

Voila c'est plus clair maintenant je pense..
Commenter la réponse de zirkan
zirkan
Messages postés
8
Date d'inscription
dimanche 27 juin 2004
Dernière intervention
30 septembre 2007
- 8 mai 2007 à 03:50
0
Merci
Edit: mysql_connect('relax','root',''); => mysql_connect('localhost','root','');  (je rassure l'erreur était pas là lol)
Commenter la réponse de zirkan
zirkan
Messages postés
8
Date d'inscription
dimanche 27 juin 2004
Dernière intervention
30 septembre 2007
- 8 mai 2007 à 04:17
0
Merci
hum ca marche, je dois être ravagé j'ai vraiment été noob sur ce coup
En tout cas merci beaucoup J_Gtu es vraiment sympa
Commenter la réponse de zirkan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.