Remplacement text selon un parametre

Remplacement text selon un parametre - PHP - Programmation

Marsh Posté le 05-06-2019 à 12:48:10    

Bonjour,
 
  Je souhaite remplace dans mon texte {{date_jour;x}} par la date du jour + x soit date("j/d/Y", strtotime('+x days'));
 
{{date_jour;1}} doit afficher

Code :
  1. date("j/m/Y", strtotime('+1 days'));


{{date_jour;2}} doit afficher

Code :
  1. date("j/m/Y", strtotime('+2 days'));


.... etc
 
Existe t-il une expression régulière pour faire cela avec la fonction preg_replace ou une autre ?
 
Merci par avance


Message édité par snike le 05-06-2019 à 13:06:17
Reply

Marsh Posté le 05-06-2019 à 12:48:10   

Reply

Marsh Posté le 05-06-2019 à 13:21:58    

Un peu à la bourrin :

Code :
  1. $MaChaine = "{{date_jour;x}}";
  2. $ArrayData = explode(';', $MaChaine);
  3. $sNbJours = str_replace("}", "", $ArrayData[1]);
  4. $MaChaine = date("j/m/Y", strtotime("+$sNbJours days" ));


Message édité par rufo le 05-06-2019 à 13:24:28

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 05-06-2019 à 13:39:57    

Bonjour,
 
  Machaine n'est pas forcément "{{date_jour;x}}" mais "{{date_jour;1}}", "{{date_jour;2}}",.....
 
  Donc peut être faire comme cela :  
  Rechercher le texte "{{date_jour;", extraire la valeur x et lancer le remplacement jusqu'à ce que je n'ai plus de texte "{{date_jour;"
 
Merci pour ton aide.

n°2334643
mechkurt
Posté le 05-06-2019 à 14:21:09  profilanswer
 
n°2334690
rufo
Pas me confondre avec Lycos!
Posté le 05-06-2019 à 21:38:26  profilanswer
 

snike a écrit :

Bonjour,
 
  Machaine n'est pas forcément "{{date_jour;x}}" mais "{{date_jour;1}}", "{{date_jour;2}}",.....
 
  Donc peut être faire comme cela :  
  Rechercher le texte "{{date_jour;", extraire la valeur x et lancer le remplacement jusqu'à ce que je n'ai plus de texte "{{date_jour;"
 
Merci pour ton aide.


J'avais bien compris. $MaChaine contient quelques chose de la forme {{date_jour;x}} où x désigne un entier de 0 à n. Mon code permet d'extraire la valeur de x.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-06-2019 à 09:26:13    

Oui mais il doit être dans un template et il veut remplacer toutes les occurrences de {{date_jour;1}} (ou 2 ou 3 ou +) sans savoir si elles sont là ni sous quelle forme...
 
...un str_replace serait clairement plus rapide mais si si son nombre de jour est supérieur a 5 (à la louche faudrait tester), les imbriquer dans une boucle for serait surement moins performant que la bonne regex.
 
Après je reconnais que c'était pas super clairement formulé ! ^^


---------------
D3
Reply

Marsh Posté le 06-06-2019 à 14:28:36    

J'étais parti du principe qu'il avait déjà fait son algorithme d'extraction des balises {{....}}. Du coup, mon algo prend le relai une fois cette extraction faite.
Si ce n'est pas le cas, oui, le mieux est de passer par des regexp.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

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

© 2018 Forum. All Rights Reserved.