|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 2 ![]() |
Salut,
J'ai une question débile pour un problème qui me semble simple mais auquel je n'arrive pas à trouver de solution. Dans l'exemple suivant, 1 et 2 fonctionnent, mais 3 non. j'aimerais bien comprendre pourquoi? Code :
Un petit peu d'aide s'il vous plait -[STK]- |
||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : octobre 2005 Messages : 641 ![]() |
Code :
$content=preg_replace('/<p>.*-NP<\p>/s','',$content); 1er post depuis 2004 ? |
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
Citation:
Code :
$content=preg_replace('!<p>(.*?)-NP</p>!s','',$content); |
||
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : octobre 2005 Messages : 641 ![]() |
je ne connaissais pas cette "étoile gourmande" (en ressource CPU ?)
la seconde erreur est une faute d'inattention de ma part... désolé. |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
L'étoile gourmande, c'est l'étoile normale *... Prenons un exemple :
texte : Code :
bidule<p>truc</p><p>machin</p>chouette Code :
bidule<p>truc</p><p>machin</p>chouette Une première solution consiste à éviter ., et à mettre qqch de plus restrictif. Par exemple, cette regex s'arrêtera à la prochaine balise : L'autre solution, souvent plus simple, consiste à remplacer l'étoile gourmande par l'étoile paresseuse *?. Cette étoile n'avale pas tout ce qu'elle peut, mais au contraire s'arrête dès qu'elle peut le faire sans faire échouer la reconnaissance. Donc cette regex s'arrêtera au prochain </p> : |
|
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Inscription : octobre 2004 Messages : 2 ![]() |
J'échappais les caractères parce que j'ai appris comme ca, mais effectivement c'est pareil.
![]() Concernant le code ca ne fonctionne toujours pas. En gros, mon script transforme des pages .html comportant des tableaux en fichiers .sql. Le truc c'est que les lignes avec NP je n'en veux pas. Enfin voila juste un test : Code :
Alors que si je déplace le -NP avant le 5 comme ca: "NP-5" , voire comme ca "-NP5" Code :
-[STK]- Edit : Finalement, j'ai trouvé. A la place de: (.*?), je mets: [0-9\-]{1,}-NP Merci pour votre aide |
||||
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : octobre 2005 Messages : 641 ![]() |
merci Antoun pour l'explication de l'étoile gourmande...
|
|
|
00
|
|
|
#8 | |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com