-
La syntaxe [^.]+
Bonjour à tous !
J'ai un soucis, comment peut-on demander à un preg_match, de s'arrêter à un certain "groupe de lettre" ???
[^<]+ s'arrètera au premier < trouvé...
[^</b>]+ s'arrètera au premier < ou / ou b ou > trouvé...
Comment fait pour qu'il s'arrète quand il trouve </b> ??
PS : Je ne souhaite pas utiliser un masque like this : #(.+?)</b># ;)
-
Bonjour, je ne suis pas un expert, mais...
[^<]+ signifie... heu... je sais pas trop là ^_^
Mais pour la fonction soit True au premier < trouvé, ça serait plutôt "#<#" car le ^ lorsqu'il est entre crochet signifie qu'il ne doit pas y avoir ce qui suit.
ex : "#[^A-Z]#" signifie : Aucune lettre majuscule...
Même soucis dans la deuxième.
Pour quelle raison ne veut tu pas de cela : #(.+?)</b>#
(qui me semble erroné d'ailleurs...)
-
Car un motif qui ne veut pas un certain caractère va beaucoup plus vite...
#<b>([^<]+)</b># ira plus vite que #<b>(.+?)</b># (130 %)
Ce n'est pas urgent :) c'est juste pour ma culture personnel :king:
PS : les motifs fonctionnent ;) tu peux les tester ici : http://lumadis.be/regex/test_regex.php
-
Hé bien merci pour toutes ces informations, on en découvre tout les jours =)
Pour le coup, je risque de ne pas t'être bien utile, tu as l'air bien plus calé que moi ^_^
-
Y a pas de quoi !
Le savoir est inépuisable :) On en apprend toujours plus (et on en oublie aussi toujours plus :P)
;)
-
C'est une assertion négative que vous cherchez en somme à faire ?
-
Oui ca m'a l'air d'être cela...
Mais comment étendre cela ?
'Tant que je ne trouve pas l'expression PHP, je continue' ??
J'ai essayer avec un dot, ou même une étoile mais ca n'donne rien :cry: