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 :

supprimer des caractères (regexp)


Sujet :

Langage PHP

  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut supprimer des caractères (regexp)
    Bonjour,

    je voudrais supprimer des caractères d'une chaîne de caractères ; je crois que ça se fait avec une regexp, mais je ne sais pas comment ; ce que je voudrais, c'est transformer une chaîne du type : en

  2. #2
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    Bonjour,

    S'il s'agit de retirer les balises HTML utilise la fonction strip_tags.

    Bonne journée

  3. #3
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Bonjour,

    une fonction PHP existe déjà pour ce genre de chose :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php 
    $texte = <p>Coucou</p>;
    $texte_formate = strip_tags($texte); // Donne "Coucou"
    Enjoy

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci pour la réponse, mais strip_tags n'enlève pas tout : par exemple,
    strip_tags("<br>test strip_tags<br>") vaut <br>test strip_tags<br>

  5. #5
    Expert confirmé

    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
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Merci pour la réponse, mais strip_tags n'enlève pas tout : par exemple,
    strip_tags("<br>test strip_tags<br>") vaut <br>test strip_tags<br>
    moi ça donne bien test strip_tags

  6. #6
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Problème de version ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Finalement, le strip_tags marche bien, mais je me suis aperçu que ça vient un peu plus loin de la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte=str_replace(array("\r", "\n"), array('', '<br>'), $texte);
    Si je la commente, il n'y a plus de <br>, mais ça m'affiche cela :
    rn votre textern
    Quelle est donc la solution ?

  8. #8
    Expert confirmé

    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
    Par défaut
    quel est ton $texte a la base ?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    si ton texte vient d'un textarea (avec des "retour charriot", ...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $texte_formate = strip_tags(nl2br($texte));
    // et supprimer :
    // $texte=str_replace(array("\r", "\n"), array('', '<br>'), $texte);
    ?>
    PS : on écrit <br /> !

  10. #10
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    c'est une chaîne récupérée avec ckeditor (donc vient bien d'un textarea), mais si j'aplique ton truc, jreaux62 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $texte=$_POST['texte'];
    $texte=strip_tags(nl2br($texte));
    //$texte=str_replace(array("\r", "\n"), array('', '<br/>'), $texte);  //j'ai bien écrit <br/>
    ça donne
    rn votre textern

  11. #11
    Expert confirmé

    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
    Par défaut
    ça donne quoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $texte = $_POST['texte'];
    var_dump(strip_tags($texte));

  12. #12
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    var_dump :string(16) " votre texte "

    mais y a quand même des rn...

  13. #13
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    si ton texte vient d'un textarea (avec des "retour charriot", ...) :
    J'oubliais : ça rajoute des <br/> , même si l'utilisateur ne saisit pas de retour chariot...

  14. #14
    Expert confirmé

    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
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    var_dump :string(16) " votre texte "

    mais y a quand même des rn...
    ou ca ? t'as juste les retour mais invisible y'a pas de r ou de n visible

  15. #15
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    oui, ils ne sont pas visibles sur ce var_dump, mais en fait, les textes, je les stocke dans MySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql= 'INSERT into `forum_telepamedia` (text, cat,auteur,date,login,texteavantmodif) VALUES (\''.ES($texteapresmodif).'\',\''.ES($_SESSION['categ']).'\',\''.ES($auteur).'\',\''.ES($date).'\',\''.ES($_COOKIE["login"]).'\',\''.ES($texteavantmodif).'\')';
    ES :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function ES($truc)
    {
    $truc=mysql_real_escape_string($truc);
    return $truc;
    }
    pour pouvoir afficher ces textes ultérieurement, et quand je les relis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql="select date,auteur,text from `forum_telepamedia` where cat='".$_SESSION['categ']."' order by id_forum DESC";
     $result = mysql_query($sql) or die(mysql_error());
     while ($ligne=mysql_fetch_array($result,MYSQL_NUM))
    {
    ...
    echo "<td>".$ligne[2]."</td>"; 
    ...
    }
    ça me met les rn...

  16. #16
    Expert confirmé

    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
    Par défaut
    des lettres ou des sauts lignes ?

  17. #17
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    des lettres, comme ceci :
    rn votre textern

  18. #18
    Expert confirmé

    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
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    des lettres, comme ceci :
    et dans ta base ? t'es sur que t'as pas d'autres traitements qui trainent ?

  19. #19
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Pour ma base, j'avais fait en PHP une interface qui en affiche le contenu :
    76 rn votre textern avis_rech laurents 2011-07-27-23:00 laurents 1
    votre texte
    Les champs de la base étant les suivants :
    id_forum mediumint(8) unsigned NO PRI auto_increment
    text text NO
    cat varchar(20) YES
    auteur varchar(20) NO
    date varchar(20) NO
    login varchar(10) YES
    connecte tinyint(4) YES
    texteavantmodif text NO
    et entre le insert et l'affichage, y a rien d'anormal. Et le champ "texteavantmodif", lui, subit le traitement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texteavantmodif=str_replace(array("\r", "\n"), array('', '<br>'), $texteavantmodif);

  20. #20
    Expert confirmé

    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
    Par défaut
    t'as pas a faire de traitement, sauf
    faire un mysql_real_escape_string sur les valeurs a inséré
    si tu ne veux pas des balise HTML pas besoin d'un éditeur le textarea suffis

    ensuite a l'affichage tu dois faire un htmlspecialschars

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Supprimer des caractères d'une chaine
    Par femtoserv dans le forum Access
    Réponses: 6
    Dernier message: 26/02/2007, 10h24
  2. [Tableaux] Supprimer des caractères dans une chaine
    Par ddubois dans le forum Langage
    Réponses: 10
    Dernier message: 16/12/2006, 13h53
  3. Supprimer des caractères.
    Par benitoelputoamo dans le forum Général Python
    Réponses: 2
    Dernier message: 30/10/2006, 20h17
  4. [Système] supprimer des caractères avec preg_replace
    Par Fritzoune dans le forum Langage
    Réponses: 3
    Dernier message: 02/10/2006, 13h59
  5. [VB6] Supprimer des caractères d'une chaine
    Par Overflow64 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/10/2005, 10h26

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