|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 3 ![]() |
Bonjour,
Je chercher à faire un regex très simple qui permet de trouver cette balise <entry> dans une chaine telle que <entry>test</entry> voici le code que j'ai testé: Code :
preg_match_all('/<entry>/', '<entry>test</entry>', $matches); Il y aurait-il un problème de compatibilité, de version PHP ? Merci d'avance pour votre aide ! |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
si tu veux parser du XML c'est SimpleXML
__________________
http://blog.stealth35.com/ |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 3 ![]() |
Bonjour,
Merci pour ta réponse mais je cherche juste une balise dans du texte, est-ce vraiment nécessaire d'utiliser autre chose que preg_match() ? Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
si ton fichier est du XML ou du HTML tu dois utiliser les bons outils
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | ||
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 661 ![]() |
J'aurais tendance à être d'accord avec stealth. Si tu veux récupérer le contenu d'une balise xml, le plus simple c'est d'utiliser un parser d'xml.
Cela dit, si tu veux juste vérifier la présence de la balise dans ta chaine, strpos pourrait amplement suffire. Code :
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2011 Messages : 3 ![]() |
Merci pour ta réponse mais le problème c'est que je chercher la cinquième balise <entry> présente dans mon texte..
La chose que je ne comprends vraiment pas c'est pourquoi ceci Code :
preg_match_all('/<entry>/', '<entry>test</entry>', $matches); Auriez vous une idée? Merci pour vos réponses |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
montre ton "texte"
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#8 | ||
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Citation:
http://www.php.net/manual/en/functio...tch.php#105598 Citation:
__________________
|
||
|
|
10
|
|
|
#9 | |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 661 ![]() |
Citation:
![]() Est-ce que le problème ne serait pas plutôt au niveau de l'exploitation du résultat ? Peux-tu nous montrer le code qui va autour de ce morceau là ? J'étais persuadée que pour chercher une chaine simple, strpos était plus rapide
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
|
00
|
|
|
#10 | |
![]() ![]() Développeur Web Inscription : août 2006 Messages : 2 700 ![]() |
Citation:
__________________
|
|
|
|
12
|
|
|
#11 |
|
Membre du Club
![]() Boris conception et traitement de documents xhtml Inscription : août 2011 Messages : 107 ![]() |
|
|
|
00
|
|
|
#12 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
DOMDocument les plus complete au niveau des Xpath, et fonctionne pour tout type de DOM (XML = DOM mais DOM != XML)
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Boris conception et traitement de documents xhtml Inscription : août 2011 Messages : 107 ![]() |
|
|
|
00
|
|
|
#14 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
Citation:
Et ce que je comprendre pas c'est quand javascript tout le monde utilise l'API DOm et personne ne fait du regexp pour parser son document ?
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#15 | |||||
|
Membre du Club
![]() Boris conception et traitement de documents xhtml Inscription : août 2011 Messages : 107 ![]() |
Citation:
Je pense qu'une première explication réside dans la syntaxe de DOM utilisée respectivement par JavaScript et par péachpé : En JavaScript, un code tel que Code :
Par exemple, on comprend bien que représente une entité. De ce fait, on fait du DOM en JavaScript comme Monsieur Jourdain faisait de la prose : sans le savoir. En péachpé, à cause de l'utilisation de la flèche -> au lieu du point, la syntaxe paraît moins évidente et moins groupée. Code :
La deuxième explication que je vois est que les regex sont perçues en PHP comme une panacée universelle qu'on peut appliquer pour toutes les recherches, notamment pour parser du html. (Il semble en effet a priori plus naturel de rechercher une chaîne de caractères paramétrée que d'analyser un arbre de document.) Alors qu'en JavaScript, RegExp est probablement perçue comme une fonction particulière de javascript et n'a peut-être pas l'aura qu'ont les expressions régulières en PHP. Une troisième explication, à mon sens, réside dans le fait que DOM a été introduit dans PHP, alors qu'il existe implicitement dans JavaScript. La documentation de DOM PHP porte donc très nettement l'empreinte de cette insertion et semble de ce fait difficile d'accès. Une quatrième explication réside peut-être dans le fait que JavaScript est initialement davantage perçu comme un langage permettant de générer du html dynamique (voir la multitude d'effets visuels plus ou moins heureux qu'on ajoute aux pages html) que comme un outil d'analyse du code html. Alors que PHP est davantage perçu comme un outil de traitement de code html avant renvoi au navigateur des pages traitées. |
|||||
|
|
20
|
Copyright © 2000-2012 - www.developpez.com