probleme avec preg_replace - PHP - Programmation
Marsh Posté le 11-08-2008 à 13:13:22
c'est normal, ta regex dit exactement: "remplace sur chaque ligne ce qui précède et suit une date par rien du tout".
Sur la deuxième ligne, il n'y a pas de date donc il ne remplace rien.
Pour extraire une(des) date(s) en lieu et place de preg_replace, je te recommanderai preg_match(_all).
Par ailleurs ta regex peut être simplifier ainsi:
/(\d{4}-\d{2}-\d{2})/ |
Marsh Posté le 11-08-2008 à 17:22:19
pas pensé au preg_replace, mais cette solution ne m'a pas convenu, j'ai du préféré faire au préalable un str_replace pour virer les retour à la ligne.
Merci
Marsh Posté le 12-08-2008 à 09:26:48
PierreC a écrit : pas pensé au preg_replace, mais cette solution ne m'a pas convenu, j'ai du préféré faire au préalable un str_replace pour virer les retour à la ligne. |
Oui c'est aussi une solution faire un str_replace pour pouvoir ensuite faire un preg_replace... Mais je suis pas sur qu'il soit possible de faire plus alambiqué.
Marsh Posté le 11-08-2008 à 13:07:58
Hello,
J'ai un probleme avec un preg_replace
je souhaite extraire la date d'une chaine de caractère :
$str='// $Id: menu.js 269 2008-08-11 09:47:16Z pcoustillas $
sdvsd
';
echo preg_replace('/.* ([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]) [0-9][0-9]:.*/i','$1',$str);
mais le résultat n'est pas celui attendu :
2008-08-11
sdvsd
des idées ?
merci
---------------
Du tofu en Alsace : www.tofuhong.com