Expreg Assertions negatives positives? quel motif? - PHP - Programmation
Marsh Posté le 12-04-2010 à 18:15:05
dernier up ='(
Personne d'assez fort pour m'aider?
Ce n'est pas compliqué:
2phrases : gagnez une PS3 - gagnez un jeu pour PS3
je ne veux que la première par une expreg. il faut eliminer la phrase qui contient jeu!
merci ! ; )
Marsh Posté le 13-04-2010 à 21:34:48
Et pourquoi pas tout simplement :
Code :
|
Pas besoin de voir si compliqué ! tu matches tout ce qui comporte au moins un des mots.
après tu fais une boucle classique pour faire ton tri. A savoir, par exemple, si il y a ps3 et jeu, je zappe...
Ce sera à mon avis beaucoup plus souple qu'une expression régulière à rallonge...
Marsh Posté le 08-04-2010 à 13:28:08
Bonjour
Alors je vous expose mon problème, pros du PHP !
Je participe a des jeux concours gratuits sur internet et utilise un site qui les recenses tous.
Pour les trier et ne pas passer 2H a trouver les prix qui m'interesse, j'utilise les expreg pour parser le site.
En l'occurence, ceux dont le prix est PS3, XBOX, WII, IPOD etc.. ( vous avez compris... )
( et éviter les brosses a dents et le DVD de safari..)
Bref, le souci, c'est que beaucoup de concours donne des "jeux videos pour PS3"
Or mon expreg voit PS3, il prends ! mais j'en veux pas de ca !
Donc, j'utilise les assertions mais je ne voit pas comment dire : 'si y a jeux videos, tu prends pas!'
Voici mon expreg actuel:
$resxx = preg_match('#(?=home)|(?=mp3)|(?=projecteur)|(?=iphone)|(?=ipad)|(?=netbook)|(?=eeepc)|(?=ps3)|(?=xbox)|(?=psp)|(?=console)|(?<=que)(?=euros)#isU',$val1,$resx);
J'ai pensé aux assertion negatives comme ça : #(?!=jeux)(?=((?=home)|(?=mp3)....)#
ou ça : .........(?=eeepc)|(?!jeux)(?=ps3)|(?=xbox)|(?=psp)|......
Merci d'avance de votre aide !