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 :

nl2br() & HTML 4.0.1 ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Points : 95
    Points
    95
    Par défaut nl2br() & HTML 4.0.1 ?
    Bonjour,

    Comme nous le savons tous, nl2br() permet d'afficher des textes en ajoutant en des <br /> à la place des \n

    L'ennui, c'est que mon site est en HTML 4.0.1 et par le fait, les balises <br /> doivent s'écrire "<br>"...

    Comment modifier cette fonction affin de palier ce problème ?

    Voila le bout de mon code en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO groupes VALUES('', '".addslashes($nom)."', '".addslashes(nl2br($description, false))."', 'Le ".date('d/m/Y à H\hi')."', '".addslashes($url)."')") or die("Problem lors de l'ajout d'un groupe");
    Le ", false" je le tire de php.net, mais a parament ça me fait l'erreur suivant :
    Warning: Wrong parameter count for nl2br() in /xxx/yyy/zzz/pages.php on line 33
    Une solution ?

    D'avance merci

  2. #2
    Membre habitué Avatar de alejandro
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2004
    Messages : 167
    Points : 188
    Points
    188
    Par défaut
    Bonjour,

    Apparemment tout dépends de la version de PHP que tu utilises, tu devrais faire des recherches sur le manuel php à cette adresse http://www.php.net/manual/fr/ lorsque tu recherches des informations sur une fonction.

    Concernant la fonction nl2br(), si tu vas voir dans "historique", tu verras que avant PHP version 4.0.5 la fonction insère des balises <br>. Après elle insère des balises <br /> et tu n'as pas le choix entre l'un ou l'autre.

    Finalement, à partir de PHP 5.3, tu as la possibilité de passer à la fonction un second argument is_xhtml qui te permet de choisir entre <br> et <br />.

    Donc vérifie la version de PHP que tu utilises mais vu ton message d'erreur je suis sûr que tu as une version inférieure à la 5.3.

    Enfin si tu regardes les messages des utilisateurs, toujours sur la même page, tu verras que quelqu'un à créé une fonction pour toi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    function mynl2br($text) {
       strtr($text, array("\n" => '<br />', "\r\n" =>'<br />'));
    }
    ?>
    que tu vas modifier comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    function mynl2br($text) {
       strtr($text, array("\n" => '<br>', "\r\n" =>'<br>'));
    }
    ?>
    Voilà bonne fin de week-end.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par alejandro Voir le message
    Apparemment tout dépends de la version de PHP que tu utilises, tu devrais faire des recherches sur le manuel php à cette adresse http://www.php.net/manual/fr/ lorsque tu recherches des informations sur une fonction.
    J'y suis allé mais voila quoi je pige pas tout

    Citation Envoyé par alejandro Voir le message
    Concernant la fonction nl2br(), si tu vas voir dans "historique", tu verras que avant PHP version 4.0.5 la fonction insère des balises <br>. Après elle insère des balises <br /> et tu n'as pas le choix entre l'un ou l'autre.
    Finalement, à partir de PHP 5.3, tu as la possibilité de passer à la fonction un second argument is_xhtml qui te permet de choisir entre <br> et <br />.
    Oui je l'ai vu justement, c'est ça qui est bizard !

    Citation Envoyé par alejandro Voir le message
    Donc vérifie la version de PHP que tu utilises mais vu ton message d'erreur je suis sûr que tu as une version inférieure à la 5.3.
    ==> Je vais de ce pas allé voir

    Citation Envoyé par alejandro Voir le message
    Enfin si tu regardes les messages des utilisateurs, toujours sur la même page, tu verras que quelqu'un à créé une fonction pour toi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    function mynl2br($text) {
       strtr($text, array("\n" => '<br />', "\r\n" =>'<br />'));
    }
    ?>
    Je l'avais vu (et merci pour la modification), mais je ne voulais pas utiliser une fonction si la première marchée
    Et puis, étant un bon débutant, je ne sais pas encore bien manier les fonctions...

    Merci en tout cas je te tiens au courant

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Points : 95
    Points
    95
    Par défaut
    Je confirme : PHP Version 5.2.6

    Je dois donc prendre cette fonction made in maison ?

  5. #5
    Membre habitué Avatar de alejandro
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2004
    Messages : 167
    Points : 188
    Points
    188
    Par défaut
    Bonjour,

    Apparemment oui ...

  6. #6
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    La fonction nl2br possède un 2eme paramètre pour choisir si on veux un <br /> ou un <br> :

    http://www.php.net/manual/fr/function.nl2br.php


    edit: Oups, seulement à partir de PHP 5.3

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 241
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par Seb33300 Voir le message
    La fonction nl2br possède un 2eme paramètre pour choisir si on veux un <br /> ou un <br> :

    http://www.php.net/manual/fr/function.nl2br.php


    edit: Oups, seulement à partir de PHP 5.3
    Oui c'est ce que j'avais fait snif

    Tant pis, j'attendrais l'autre serveur qui aura php 5.3

    Merci a vous 2

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

Discussions similaires

  1. nl2br et le format HTML
    Par Décibel dans le forum Langage
    Réponses: 9
    Dernier message: 21/08/2008, 09h58
  2. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  3. [XSLT] inclure du XSL dans une balise html
    Par iaa dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/08/2002, 15h57

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