IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Boucle PHP et interprétation JavaScript


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 16
    Points
    16
    Par défaut [PHP-JS] Boucle PHP et interprétation JavaScript
    Bonjour,

    Je travaille sur une petite interaction qui met à jour le contenu d'un DIV en javascript par du contenu généré par PHP

    Voilà où j'en suis :

    Ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(<p>element1</p><p>element2</p>);
    Ceci ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alert(<p>element1</p>
    <p>element2</p>);
    Or, j'utilise une boucle PHP pour générer mon contenu. Et la boucle PHP insère un saut de ligne dans le code source à la fin de chaque tour.

    Sauriez-vous comment supprimer ces sauts de ligne en PHP (ou Javascript..)

    Merci beaucoup !

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Points : 80
    Points
    80
    Par défaut
    alert(<p>element1</p>
    <p>element2</p>);

    Normal aprés element1 tu ferme ta balise donc tu lui dis que c est la fin de ton paragraphe.
    il faut faire
    alert(<p>element1 element2</p>);

    faut savoir que quand tu ouvre la balise p tu determine la debut de ton paragraphe et quand tu la ferme tu determine la fin donc il repart a la ligne

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Connaitre le code php qui génère ton texte nous aiderait beaucoup à répondre à ta question Pourrais-tu donner un peu plus de précisions ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Ok, voici le code PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php do {
    echo '<b>'.$row_comments['auteur'].'</b>, le '.$row_comments['date'].'<br/>'.$row_comments['texte'];
    } while ($row_comments = mysql_fetch_assoc($comments)); ?>
    le $row_comments['texte'] sort une valeur au format HTML du type <p>tatati...</p><p>tatata...</p>

    Il n'y a pas de guillemets dans le code HTML généré, susceptible d'interagir avec mon innerHTML="<?php mon code HTML généré ?>"

    Le seul soucis, en fait, c'est le saut de ligne dans le code source à la fin de chaque boucle, qui pose soucis dans du javascript...

  5. #5
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    la fonction trim pourrait aider

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
        echo sprintf('<b>%s</b>, le %s<br/>%s', $row_comments['auteur'], $row_comments['date'], trim($row_comments['texte']));
    }
    while ($row_comments = mysql_fetch_assoc($comments)); ?>

    ou nl2br

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
        echo sprintf('<b>%s</b>, le %s<br/>%s', $row_comments['auteur'], $row_comments['date'], nl2br($row_comments['texte']));
    }
    while ($row_comments = mysql_fetch_assoc($comments)); ?>
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    Merci,
    la fonction trim() semble la plus adaptée.

    Voici mon code PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php do {
    $newtext= '<b>'.$row_comments['auteur'].'</b>, le '.$row_comments['date'].'<br/>'.$row_comments['texte'];
    echo trim($newtext);
    } while ($row_comments = mysql_fetch_assoc($comments));  ?>
    Cette fois-ci, je n'ai plus de saut de ligne dans mon code source entre chaque boucle.
    Par contre, j'en ai entre chaque couple de balises <p></p> dans ma chaine de caractères $row_comments['texte'].
    Existe t-il une fonction supprimant les caractères invisibles entre les balises ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 16
    Points
    16
    Par défaut
    OK, j'ai trouvé la soluce, glissée dans les comments de la fonction nl2br, dans la doc PHP :
    It seems that new lines break the string in JavaScript, so if this is your case use the following code instead nl2br

    $str = preg_replace('#\r?\n#', '<br />', $str);

    Slavi
    Merci tout de même pour votre aide, et la bonne réorientation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. copier plusieurs champs dans une boucle php avec javascript
    Par groskanel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/08/2010, 14h47
  2. Boucle PHP dans un lien JavaScript
    Par Rem693 dans le forum Langage
    Réponses: 1
    Dernier message: 31/10/2009, 10h11
  3. [PHP-JS] Requête PHP vers SQL dans un script JavaScript
    Par AngelFire dans le forum Langage
    Réponses: 6
    Dernier message: 08/03/2008, 11h13
  4. [PHP-JS] Boucle /script JavaScript /PHP
    Par ghita269 dans le forum Langage
    Réponses: 5
    Dernier message: 14/07/2006, 15h54
  5. Réponses: 4
    Dernier message: 17/01/2006, 19h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo