|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 160 ![]() |
Bonsoir à tous
j'ai un problème avec une balise image, j'ai utilisé preg_replace pour la balise image : Code :
$content = preg_replace("#\[image\](.+)\[\/image\]#", "<img src=\"$1\" border=\"0\" alt=\"\">", $content); Code :
<img src="http://www.teeshotweb.com/tutorial/upload/0605024946.jpg[/image][image]http://www.teeshotweb.com/tutorial/upload/0605024916.jpg" border="0" alt=""> même si je mets par exemple un - entre les 2 balises, ça fait pareil. Une idée ? Merci |
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Il faut rendre votre expression régulière non gourmande, pour cela le moyen le plus simple est d'utiliser l'option U :
Code :
$content = preg_replace("#\[image\](.+)\[\/image\]#U", "<img src=\"$1\" border=\"0\" alt=\"\">", $content);
Vous pourriez en avoir besoin d'autres : i pour que vos balises bbcode soient insensibles à la casse ou encore s pour que le métacaractère . puisse désigner une nouvelle ligne (ce n'est pas le cas par défaut où il désigne tout caractère à l'exception d'un saut de ligne). |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 160 ![]() |
Bonsoir julp
ça marche, merci. Et bah plus j'avance et plus je vois que c'est vaste, j'ai un encore enormèment de boulot pour apprendre !!! A bientôt |
|
|
00
|
|
|
#4 | ||
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 160 ![]() |
Re bonjour
C'est encore moi. j'ai le même problème avec le bbcode url j'ai pourtant mis le U, mais la c'est encore pire en le mettant, ça fait lien jusqu'au dernier [/url] de la page, si j'enleve le U ça se limite au 2 premiers. Code :
Merci |
||
|
|
00
|
|
|
#5 | ||
|
Membre chevronné
![]() Étudiant Inscription : août 2005 Messages : 632 ![]() |
Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 160 ![]() |
Bonjour Korko Fain
merci de ton aide ça marche parfaitement. je ne m'en sortait pas il y a 2mn sinon comment savoir si U ou ? est le mieux ? A bientôt |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Étudiant Inscription : août 2005 Messages : 632 ![]() |
enfait, le ? à au moins 2 sens. s'il suit un + ou une * sont sens est similaire au U à la fin. Sinon, il veux dire 0 ou 1 fois ce qui précède directement.
Le U est global à tout le masque de recherche (la regex) alors que le ? est locale à ce que tu cherches. Si ton mode 'non gourmand' est sur tout ton masque, tu peux choisir les 2, soit mettre un ? apres chaque *, + ou bien mettre un U à la fin (mais pas les 2!!). Donc quand tu en as 1 ou 2, c'est vraiment comme tu veux, apres on préfère le U c'est moins lourd à lire :p Dailleurs, regarde ton 2eme masque que tu as donné, tu as un \S*? et à la fin tu as un U, tu as donc un mixe des 2 et donc ça bug :p |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : janvier 2006 Messages : 160 ![]() |
Ok merci Korko Fain, je comprend mieux, mais c'est un peu dur tellement il y a de truc à savoir.
maintenant je connais au moins la différence entre U et le ? Bonne journée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com