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

Bibliothèques & Frameworks Discussion :

(php) strip_tags() ne fonctionne pas sur le texte renvoyé par un textarea [TinyMCE]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut (php) strip_tags() ne fonctionne pas sur le texte renvoyé par un textarea
    Bonjour,

    J'ai un problème qui me casse la tête depuis plus d'une heure.

    Dans un formulaire, j'ai un textarea tinymce qui me renvoie :
    jusque là pas de problème, c'est normal.

    Par contre, quand je récupère cette valeur avec PHP et que j'essaie un strip_tags(), ça ne fonctionne pas, les balises sont toujours là.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $text = $params['obj_detail'];
    echo strip_tags( $text );
    affiche toujours : <p>Mon texte</p>

    (par contre strip_tags('<p>Mon texte</p>') supprime bien les balises).

    Quelqu'un sait-il d'où vient le problème ?

    merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    regarde le code source HTML de la page et tu comprendras

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    Arf, comment n'y ai-je pas pensé plus tôt ? La fatigue, après une semaine bien chargée ?

    On a en effet de &gt; et des &lt; dans le source donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo strip_tags( html_entity_decode ( $text ));
    fonctionne...

    Merci de m'avoir mis sur la voie de la lumière !

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    maintenant question : pourquoi utiliser TinyMCE et pas juste un textarea ?

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    Je développe un back office pour des clients qui n'y connaissent rien en html.

    Par contre, juste une question :

    je gère un certain nombre de données, et celles qui ont été rentrées avant mon arrivée sont super mal formées (balises html non fermées ou obsolètes etc).
    Le tinymce me le reformatte comme il faut (a priori de ce que j'en ai vu).
    Maintenant j'ai plus de 1400 offres à vérifier, et j'aimerai bien un script qui me mouline tout ça et me ressorte quelque chose de correct (parce que je vais pas faire ça manuellement un par un pour chaque champ susceptible de contenir des erreurs). je cherche un script php donc... tu connais ?

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    essaye un coup de Tidy ou DOMDocument, ça devrait allé vite, montre un exemple de chaine

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    Ce que j'ai en entrée :

    Selon votre situation professionnelle, vous pouvez bénéficier d'une aide au financement de votre formation (coût pédagogique, frais, rémunération) ; adressez-vous à un conseiller en formation auprès d'une des structures appropriées à votre situation :<br><br> --> vous êtes en recherche d'emploi : Pôle Emploi, Missions locales, Cap Emploi, APEC, APECITA .Maison de l'emploi et de la formation (MDEF) <br><br> --> vous êtes en emploi, salarié, indépendant ou agent de la fonction publique : Fongecif, OPACIF, Direction ou Direction des ressources humaines (DRH) de votre entreprise ou de votre service, OPCA dont dépend votre entreprise, Maison de l'emploi et de la formation (MDEF) et éventuellement Pôle Emploi et Missions locales. <br><br> et aussi, auprès de l'organisme de formation lui-même.<br><br> ... Recherchez les coordonnées des structures citées sur le site du <a href='http://www.******.org/***/*****.php?' target='_blank'>********* - Rubrique : Rechercher un lieu d'accueil, d'information et d'orientation </a>
    ce que je veux en sortie :
    <p>Selon votre situation professionnelle, vous pouvez bénéficier d'une aide au financement de votre formation (coût pédagogique, frais, rémunération) ; adressez-vous à un conseiller en formation auprès d'une des structures appropriées à votre situation :<br /><br /> --> vous êtes en recherche d'emploi : Pôle Emploi, Missions locales, Cap Emploi, APEC, APECITA .Maison de l'emploi et de la formation (MDEF) <br /><br /> --> vous êtes en emploi, salarié, indépendant ou agent de la fonction publique : Fongecif, OPACIF, Direction ou Direction des ressources humaines (DRH) de votre entreprise ou de votre service, OPCA dont dépend votre entreprise, Maison de l'emploi et de la formation (MDEF) et éventuellement Pôle Emploi et Missions locales. <br /><br /> et aussi, auprès de l'organisme de formation lui-même.<br /><br /> ... Recherchez les coordonnées des structures citées sur le site du <a href="http://www.*********.org/*****/********.php" target="_blank">******** - Rubrique : Rechercher un lieu d'accueil, d'information et d'orientation </a></p>
    (Les apostrophes c'est pour cacher des infos sensibles bien sûr elles n'y sont pas en réalité et ne les compte pas, j'ai fait ça vite fait ^)

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    voir même remplacer les doubles <br/> par des <p>...</p>

    (je viens de m'en rendre compte)

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    $source = <<<HTML
    Selon votre situation professionnelle, vous pouvez bénéficier d'une aide au
     financement de votre formation (coût pédagogique, frais, rémunération) ;
     adressez-vous à un conseiller en formation auprès d'une des structures 
    appropriées à votre situation :<br><br> --> vous êtes en recherche d'emploi 
     
    : Pôle Emploi, Missions locales, Cap Emploi, APEC, APECITA .Maison de 
    l'emploi et de la formation (MDEF) <br><br> --> vous êtes en emploi, salarié, 
    indépendant ou agent de la fonction publique : Fongecif, OPACIF, Direction 
    ou Direction des ressources humaines (DRH) de votre entreprise ou de votre 
    service, OPCA dont dépend votre entreprise, Maison de l'emploi et de la 
    formation (MDEF) et éventuellement Pôle Emploi et Missions locales. 
    <br><br> et aussi, auprès de l'organisme de formation lui-même.<br><br> ...
     Recherchez les coordonnées des structures citées sur le site du <a 
    href='http://www.******.org/***/*****.php?' 
    target='_blank'>********* - Rubrique : Rechercher un lieu d'accueil,
     d'information et d'orientation </a> 
     
    HTML;
     
    $doc = new DOMDocument();
    $doc->loadHTML($source);
     
    $body = $doc->getElementsByTagName('body')->item(0);
     
    $out = new DOMDocument();
     
    foreach ($body->childNodes as $node) {
        $out->appendChild($out->importNode($node, true));
    }
    echo $out->saveHTML();
    en sortie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <pre>
    <p>Selon votre situation professionnelle, vous pouvez 
    b&eacute;n&eacute;ficier d'une aide au financement de votre formation 
    (co&ucirc;t p&eacute;dagogique, frais, r&eacute;mun&eacute;ration) ; 
    adressez-vous &agrave; un conseiller en formation aupr&egrave;s d'une des 
    structures appropri&eacute;es &agrave; votre situation :<br><br> --&gt; 
    vous &ecirc;tes en recherche d'emploi : P&ocirc;le Emploi, Missions locales, Cap Emploi, APEC, APECITA .Maison de l'emploi et de la formation (MDEF) 
     
    <br><br> --&gt; vous &ecirc;tes en emploi, salari&eacute;, 
    ind&eacute;pendant ou agent de la fonction publique : Fongecif, OPACIF, 
    Direction ou Direction des ressources humaines (DRH) de votre entreprise ou 
    de votre service, OPCA dont d&eacute;pend votre entreprise, Maison de 
    l'emploi et de la formation (MDEF) et &eacute;ventuellement P&ocirc;le 
    Emploi et Missions locales. <br><br> et aussi, aupr&egrave;s de l'organisme 
    de formation lui-m&ecirc;me.<br><br> ... Recherchez les 
    coordonn&eacute;es des structures cit&eacute;es sur le site du <a 
    href="http://www.******.org/***/*****.php?" 
    target="_blank">********* - Rubrique : Rechercher un lieu d'accueil, 
    d'information et d'orientation </a></p>

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    Ok, merci, c'est justement ce que j'étais en train de regarder. En tout cas je te remercie pour ton aide précieuse.

    J'essaierai ça demain, là j'ai ma dose pour le moment, (et j'ai faim)

    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/07/2014, 14h57
  2. Réponses: 5
    Dernier message: 17/12/2008, 14h18
  3. [CSS] [FAQ] Pourquoi text-align ne fonctionne pas sur les éléments de type SPAN
    Par Lost In Translation dans le forum Contribuez
    Réponses: 1
    Dernier message: 11/12/2008, 10h30
  4. Réponses: 5
    Dernier message: 29/08/2008, 22h25
  5. [Wamp] scripts en php ne fonctionnent pas sur wampserver
    Par unggoyer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/04/2008, 22h16

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