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 :

Remplacer une chaîne récurrente [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut Remplacer une chaîne récurrente
    Salut,

    J'ai une chaine, ici <p>&nbsp;</p>, que je souhaite remplacer si elle se repètes trop de fois à la suite. Je sais faire ça pour un caractère, mais je n'ai aucune idée pour une chaine entière...
    Voila ce que j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace("#(\<p\>&nbsp;\</p\>){".$sautslignes."}#Us", "<p>&nbsp;</p>", $result['Text']);
    Mais ça me rajoute des paragraphes partout

  2. #2
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Aucune idée ou j'ai mal expliqué?

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Je pense que tu peux utiliser les quantifieurs entre accolades :
    • {3,5} signifie 3, 4 ou 5 fois
    • {3,} signifie à partir de 3 fois

  4. #4
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Merci de ta réponse mais même si je rajoute la virgule, aucun remplacement n'est fait (mais cette fois, pas de problème de sauts à tout va...).

    Merci

  5. #5
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Oops je retire ce que j'ai dit ça a l'air de fonctionner Merci

  6. #6
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Si quelqu'un peut m'aider à réfléchir je lui en serai reconnaissant...
    J'ai un texte:

    <p>Text</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>Text</p>
    J'ai une option qui autorise seulement 4 sauts de paragraphe vide.
    Voila ce que je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace("#(\<p\>&nbsp;\</p\>){".($sautslignes+1).",}#Us", "", $result['Text']);
    "Prendre le 4ième + 1 (à partir du 5ième inclu) jusqu'à ce qu'il n'y ai plus de <p>&nbsp</p> et les supprimer"

    Mais comme résultat j'ai:

    <p>Text</p><p>&nbsp;</p><p>Text</p>

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 31/05/2005, 14h34
  2. Réponses: 2
    Dernier message: 15/03/2005, 15h40
  3. Réponses: 4
    Dernier message: 16/04/2004, 16h31
  4. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38
  5. [SQL] Remplacer une table
    Par rstephane dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/05/2003, 17h10

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