PHP - prereg avec sprintf ?

PHP - prereg avec sprintf ? - PHP - Programmation

Marsh Posté le 26-04-2002 à 20:03:56    

Salut à tous !
 
J'aîmerais remplacer une balise de type [table=type] par la variable $table[type], où bien sûr, le champ 'type' doit être totalement dynamique, rien ne doit être codé en dur ;-))
 
J'ai essayé avec prereg mais je ne suis pas parvenu à mes fins ... quelqu'un a l'astuce qui tue ? ;)


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 26-04-2002 à 20:03:56   

Reply

Marsh Posté le 26-04-2002 à 20:42:33    

:bounce: UP !
Nan, c'est assez important ...


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 27-04-2002 à 00:00:09    

Tu définis d'abord une fonction, genre replace_tag :

Code :
  1. function replace_tag ($args)
  2. {
  3.   $tag = $args[1];
  4.   $table_name = $args[2];
  5.   $table_key = $args[3];
  6.   if (isset ${$table_name}[$table_key])
  7.   {
  8.     return ${$table_name}[$table_key];
  9.   }
  10.   return $tag; # pour éviter de remplacer des tags qui ne correspondent à rien
  11. }


 
Ensuite tu utilises la fonction preg_replace_callback :
http://www.php.net/manual/fr/funct [...] llback.php
 

Code :
  1. preg_replace_callback ('/(\[(\W+)=(\W+)\])/', 'replace_tag', $texte);


 
voilà :)

Reply

Marsh Posté le 27-04-2002 à 07:30:52    

Merde je suis con aussi :D
 
Merci de ton aide :jap:
 
Mais n'y aurait-il pas moyen de réutiliser un Regex complet ?

 

[jfdsdjhfuetppo]--Message édité par - Fred - le 27-04-2002 à 07:35:05--[/jfdsdjhfuetppo]


---------------
"You know the name, You know the number..."
Reply

Marsh Posté le 27-04-2002 à 11:59:22    

- Fred - a écrit a écrit :

Merde je suis con aussi :D
 
Merci de ton aide :jap:
 
Mais n'y aurait-il pas moyen de réutiliser un Regex complet ?  
 
 




 
En fait je suis un peu con, parce que effectivement tu dois pouvoir n'utiliser qu'une expression régulière, à part que ça remplacera aussi les tag qui n'ont pas de correspondance $table[$key]

Reply

Marsh Posté le 27-04-2002 à 21:26:03    

Non, le truc c'est que j'aîmerais bien n'avoir qu'une variable, et une seule ligne à gérer ... d'autant que ce ne sera certainement pas le seul cas où les balises s'imbriquent ... si qqun a une réponse, ce serait vraiment sympa !


---------------
"You know the name, You know the number..."
Reply

Sujets relatifs:

Leave a Replay

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