Ciao, oggi mi ritrovo con questo problema.
Sto provando con una frase di questo genere:
Giuseppe Garibaldi è nato a Nizza il 4 luglio 1821, morto a Caprera il 2 giugno 1882
Con la frase così costruita riesco a sostituire o la prima o l'ultima occorrenza della data in questo modo:
Codice PHP:
$stringa "Giuseppe Garibaldi è nato a Nizza il 4 luglio 1821, morto a Caprera il 2 giugno 1882";
//$pattern = '/[0-9]{4}$/';
$pattern '/[0-9]{4}/';
$replacement '1807';
$stringa_modificata preg_replace($pattern$replacement$stringa1$count);
echo 
"La stringa modificata<br />\n";
echo 
$stringa_modificata "<br />\n";
echo 
"Effettuate " $count " sostituzioni<br />\n"
Ovviamente col pattern commentato sostituisco l'ultima occorrenza, mentre col pattern attivo sostituisco la prima.
Il problema della sostituzione dell'ultima occorrenza nasce se cambio la frase in
Codice PHP:
$stringa "Giuseppe Garibaldi è nato a Nizza il 4 luglio 1821, il 2 giugno 1882 è morto a Caprera"
Ho trovato una discussione simile ed ho cercato di adattarla al mio scopo, Purtroppo non ci riesco.
Ho cercato di modificare il pattern in questa maniera
Codice PHP:
$pattern '#[0-9]{4}(.*?)$#si'
ma non riesco a farla funzionare.
C'è un modo di farla funzionare con questa seconda frase?

Grazie per l'aiuto