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 la ponctuation d'une chaine sauf % et _


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut supprimer la ponctuation d'une chaine sauf % et _
    Bonsoir, je souhaiterais un coup de main pour supprimer la ponctuation d'une chaine sauf le caractère % et _, je veux garder les accents.

    pour le momment j'utilise ca, mais je supprime tout et ce n'est pas ce que je souhaite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $searchTerm = strip_tags($_GET["q"]);
    $pattern = "([[:punct:]])+";
    $searchTerm = ereg_replace($pattern, '', mb_convert_case($searchTerm, MB_CASE_LOWER, "utf-8"));
    2- y a t-il moyen de récupérer la liste de tous les caractères de punctuation que cpunc_type valide comme true ?

    J'ai eu beau chercher...

    merci pour votre aide

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function ma_fonction($var) {
            if ( preg_match("#(%|_)#", $var) ) {
                    return $var;
            } else {
                    return "";
            }
    }
     
    echo preg_replace("#([[:punct:]])#e", "ma_fonction('\\1')", $texte)
    J'aurai fait un truc comme ça. Quelqu'un voit quelque chose de plus simple ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    merci
    on ne peux pas limiter la portée d'une classe ?

Discussions similaires

  1. Réponses: 9
    Dernier message: 06/11/2007, 12h36
  2. [Système] Supprimer double quotes d'une chaine
    Par chienlou dans le forum Langage
    Réponses: 15
    Dernier message: 24/05/2006, 14h29
  3. extraire le nom d'un fichier dans une chaine sauf le car -
    Par digger dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 13/12/2005, 00h02
  4. Réponses: 9
    Dernier message: 27/10/2005, 13h20
  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