Ho il seguente testo che si verificano nel mio xml un paio di volte:PHP preg_replace() per cambiare anno del copyright
Copyright © 2015.
Sto cercando di usare espressioni regolari per cambiare il sopra il testo in modo dinamico in modo da riflettere sempre l'anno corrente nell'output finale. Questo è il mio tentativo e non sembra funzionare:
$finaloutput = preg_replace("/Copyright © [0-9]+/", "test", $finaloutput);
Naturalmente, sto usando una stringa hard-coded ("test") solo a scopo di test, perché il testo attuale ha già 2015 di esso. Quindi, il mio obiettivo è quello di cambiare questo:
Copyright © 2015. Tutti i diritti riservati ....
in questo:
Copyright © di prova. Tutti i diritti riservati ....
La mia espressione regolare è errata?
PS: Solo per il gusto di dare a tutti una migliore sensazione del contesto, ecco (una parte del) il frammento di XML $finaloutput
è assegnato a:
<div class="dict_source"><strong>Powered by</strong> <a target="_blank" rel="nofollow" href="http://www.collinsdictionary.com/dictionary/english-spanish">Collins Complete Spanish Electronic Dictionary</a><br>Copyright © 2015 HarperCollins Publishers Limited.</div>
Aggiornamento: Ho provato la risposta offerta da @ Avinash e ancora non è riuscito a farlo funzionare. Per illustrare meglio la questione, ho sottoposto a test un tester online preg_replace()
. È finita allo https://www.functions-online.com/preg_replace.html. Ecco le informazioni sono entrato nei vari campi di input per il test:
$ modello: '/(Copyright\s+©\s+)[0-9]+/u'
$ sostituzione: '\1test'
$ subject: <div class="dict_source"><strong>Powered by</strong> <a target="_blank" rel="nofollow" href="http://www.collinsdictionary.com/dictionary/english-spanish">Collins Complete Spanish Electronic Dictionary</a><br>Copyright © 2015 HarperCollins Publishers Limited.</div>
E ''' o l'entità? Anche gli spazi sono corretti? Prova 'var_dump ($ finaloutput);'. – chris85