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 :

Savoir si un texte est contenu entre deux caractères


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Savoir si un texte est contenu entre deux caractères
    Bonjour,

    J'aimerai savoir si un texte se trouve entre deux caractères |.

    Voici un exemple :
    Si mon texte est : |test| PHP renvoie TRUE

    Je sais qu'il va falloir utiliser du regex mais je n'arrive pas à le mettre en place, si vous pouvez m'aider.

    Merci d'avance,
    Cordialement,
    Mikiman

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    je dirai ça comme règle : \|[0-9a-zA-Z_]*\|

    je me rappelle plus des regex mais essaie toujours

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $str = '|test|';
     
    if (preg_match('/\|.*\|/', $str)) {
      // trouve
    }
    else {
      // pas trouve
    }
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    A paremment sa ne marche pas.

    bkill : Le problème est que je ne peux pas savoir à l'avance le texte compris entre | car certaines entrées ne l'on pas.

    J'ai en fait une base de donnée avec plusieurs entrées
    Champ : texte
    Test1
    Test2
    |Test3|
    Test4

    Je voudrais pouvoir contrôler si une de ces entrées est délimitée.

  5. #5
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Il faut évidemment que tu adaptes le code que je t'ai donné, pour ta situation. L'exemple que je t'ai mis plus haut est simplement là pour te montrer la regexp à utiliser. Tu peux donc oublier mon

    et remplir $str avec ce qu'il te conviendra d'avoir...
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Exact, pour compléter un peu, il suffit d'intégrer ce test dans la boucle de parcours des résultats de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $query = mysql_query('SELECT * FROM ma_table;') or die(mysql_error());
    while ($array = mysql_fetch_assoc($query)) {
        if (preg_match('/\|.+\|/', $array['mon_champ'])) {
            echo 'Correspondance pour : ' . $array['mon_champ'];
        } else {
            echo 'Aucune correspondance pour : ' . $array['mon_champ'];
        }
    }

    Julp.

Discussions similaires

  1. [WD-2000] Changer un style contenu entre deux caractères spécifiques
    Par Nerva dans le forum VBA Word
    Réponses: 6
    Dernier message: 29/04/2012, 14h54
  2. Savoir qu'une date est comprise entre deux autres
    Par NicoD. dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2011, 10h16
  3. [Toutes versions] Supprimer le texte qui n'est pas entre deux lignes
    Par vibos dans le forum VBA Word
    Réponses: 11
    Dernier message: 11/06/2009, 23h44
  4. Réponses: 4
    Dernier message: 26/08/2008, 17h11
  5. [VBA-E] Savoir si une cellule est contenue dans une plage
    Par psych0o0 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/05/2006, 14h12

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