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 :

Arrêter un match dès que l'on trouve un caractère


Sujet :

Langage PHP

  1. #1
    CUCARACHA
    Invité(e)
    Par défaut Arrêter un match dès que l'on trouve un caractère
    Salut,

    Je n'arrive pas à arrêter ma capture à un caractère donné.

    Ex :

    <aaa:logo type="clip" id="4" fullName="" xmlns:flt="http://namespaces.dcm.dev.cji.fr/XsdFlt.xsd"><bbb:crop top="75" bottom="75" left="75" right="75" xmlns:pct="http://namespaces.dcm.dev.cji.fr/XsdPCT.xsd" />

    Je veux supprimer la partie rouge en gras.

    J'ai créé le pattern :
    xmlns:.{3}?=".+.xsd"

    Si l'xml a un saut de ligne après la balise de fermeture ça fonctionne par contre, s'il est écrit comme ci-dessus, le match va jusqu'au dernier ".

    Pourriez-vous m'aider ?

    D'avance merci

    Laurent

  2. #2
    CUCARACHA
    Invité(e)
    Par défaut G trouvé une solution
    Salut,

    J'ai finalement trouvé un pattern qui semble fonctionner.

    C# : "xmlns:.{3}?=\"[^\"]*\""

    ++

    Laurent

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton + doit être "ungreedy"

  4. #4
    CUCARACHA
    Invité(e)
    Par défaut
    Tu penses que c'est mieux que le pattern que j'ai créé ?

    Merci

    Laurent

  5. #5
    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
    pourquoi ne pas utiliser les outils adaptés comme SimpleXML ou DOMDocument ?

  6. #6
    CUCARACHA
    Invité(e)
    Par défaut
    Les XSD Sont très complexes et imbiqués et il y a des préfixes, j'ai du faire plein de magouilles pour que ça fonctionne.
    Les objets XML ou Linq pour XML sont très galère à utiliser s'il y a des prefixes.

  7. #7
    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
    Citation Envoyé par Laurent Jordi Voir le message
    Les XSD Sont très complexes et imbiqués et il y a des préfixes, j'ai du faire plein de magouilles pour que ça fonctionne.
    Les objets XML ou Linq pour XML sont très galère à utiliser s'il y a des prefixes.
    c'est pour ca qu'il y'a DOMXPath::registerNamespace et SimpleXMLElement::registerXPathNamespace

  8. #8
    CUCARACHA
    Invité(e)
    Par défaut
    Ah je n'avais pas trouvé ça...
    Merci du tuyau je vais regarder

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/10/2013, 23h20
  2. Réponses: 20
    Dernier message: 08/06/2006, 10h12
  3. [XSL] Arrêter dès que j'ai trouvé ce que je cherche ?
    Par begude dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 17/03/2006, 12h11

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