preg_replace de balises img

preg_replace de balises img - PHP - Programmation

Marsh Posté le 20-12-2007 à 10:34:39    

Bonjour,
 
Cette ligne est censée remplacer les balises img dans la ligne par le texte image removed

$_POST['signature'] = preg_replace("~\[img(.*?)\](.*?)\[\/img\]~is", $txt['imagesremoved'], $_POST['signature']);


 
cependant ça n'a pas l'air de fonctionner, voyez-vous une erreur dans cette regexp ?
 
merci :)


---------------
:: Light is Right ::
Reply

Marsh Posté le 20-12-2007 à 10:34:39   

Reply

Marsh Posté le 20-12-2007 à 10:55:45    

tu as testé avec kodos ?  
http://kodos.sourceforge.net/


---------------

Reply

Marsh Posté le 20-12-2007 à 11:01:31    

Tomate a écrit :

cependant ça n'a pas l'air de fonctionner, voyez-vous une erreur dans cette regexp ?

ça fonctionne pourtant
montre nous un exemple de $_POST['signature']
 

Reply

Marsh Posté le 20-12-2007 à 11:04:10    


heu nan je ne connaissais pas, je vais l'installer merci ;)

soju a écrit :

ça fonctionne pourtant
montre nous un exemple de $_POST['signature']
 

hum, il faut que je modifie le code du forum pour ça :/
 


---------------
:: Light is Right ::
Reply

Marsh Posté le 20-12-2007 à 11:04:36    

ta regex est correcte et remplace correctement la pattern exposée.
Qu'est ce qui ne marche pas exactement?
edit: [:benou_grilled]


Message édité par anapajari le 20-12-2007 à 11:05:00
Reply

Marsh Posté le 20-12-2007 à 11:10:09    

en fait dans les signatures des users avec images, ces images s'affichent toujours :/
 
http://img84.imageshack.us/img84/2603/kadosot2.jpg


---------------
:: Light is Right ::
Reply

Marsh Posté le 20-12-2007 à 11:17:02    

tu as mis ton exemple de signature dans le mauvais onglet, non ?

Reply

Marsh Posté le 20-12-2007 à 11:19:36    

heu nan :D
 
par contre quand je clique sur l'espèce de loupe, ça remplace la pattern par simplement \[ :??:
 
(j'ai viré les ~ aussi)


---------------
:: Light is Right ::
Reply

Marsh Posté le 20-12-2007 à 11:22:20    

en déactivant la case ça match
 
bon bah ça fait chier :/


---------------
:: Light is Right ::
Reply

Marsh Posté le 20-12-2007 à 11:28:09    

Si tu parles de la casse et pas de la case, c'est normal ton img est ouvert en majuscule fermé en minuscule.
Mais ta regex est bonne et fait bien le replace:

Code :
  1. my $a = "K-MI-KZ et la Maugey's(MST)
  2.   http://img132.imageshack.us/img132/8687/panor%20%20%20%20ama1px0.jpg
  3.   VENEZ VOIR MES PHOTOS!!!!: http://wwww.fiestat;fr/index.php?topic=443.75";
  4.  
  5.   $a =~ s#\[img(.*?)\](.*?)\[\/img\]#aaaaa#is;
  6.   print $a;


donne

K-MI-KZ et la Maugey's(MST)
[URL=http://imageshack.us]aaaaa[/URL]
VENEZ VOIR MES PHOTOS!!!!: http://wwww.fiestat;fr/index.php?topic=443.75

 



Message édité par anapajari le 20-12-2007 à 11:28:24
Reply

Marsh Posté le 20-12-2007 à 11:28:09   

Reply

Marsh Posté le 20-12-2007 à 11:30:18    

oui la casse

 

mais si je ne l'active pas, ça matche pas, peut être que cette fonction est casse sensitive
je suis en train de chercher sur le net mais j'ai l'impression qu'elle est insensitive normalement


Message édité par Tomate le 20-12-2007 à 11:33:05

---------------
:: Light is Right ::
Reply

Marsh Posté le 20-12-2007 à 11:32:43    

c'est le i final dans ta regex qui la rend case-insensitive.
Vu que tu l'as viré de la pattern pour tester dans l'outil, il faut que tu coches la case "Ignore case"

Reply

Marsh Posté le 20-12-2007 à 11:33:59    

bon et bien je ne vois pas pourquoi ça fonctionne pas, je vais tenter des print dans le code :D


---------------
:: Light is Right ::
Reply

Marsh Posté le 20-12-2007 à 11:36:05    

merci ;)


---------------
:: Light is Right ::
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed