Visualizzazione dei risultati da 1 a 4 su 4

Discussione: preg_replace php5.3

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250

    preg_replace php5.3

    Salve a tutti
    ho aggiornato la versione di php alla 5.3 e ho dovuto aggiornare alcune funzionalità di php.

    Nel mio caso ho dovuto aggiornare la funzione ereg_replace
    Codice PHP:
    ereg_replace("^(.*)%%number%%(.*)$","\\1$i\\2",$number); 
    con preg_replace come consigliato:
    Codice PHP:
    preg_replace("^(.*)%%number%%(.*)$","\\1$i\\2",$number); 
    ma mi da' questo errore
    Codice PHP:
    Warningpreg_replace(): No ending delimiter '^' found in /var/www/vhosts
    Ho provato a togliere il carattere ma si presenta anche con %.

    Qualcuno mi sa dare una spiegazione?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    devi mettere dei delimitatori all'espressione regolare

    se tu inizi l'espressione con un carattere lui si aspetta di ritrovarlo identico alla fine

    risolvi semplicemente mettendo uno slash all'inizio dell'espressione regolare ed uno alla fine

    /la tua espressione regolare/

  3. #3
    Ma a cosa serve usare un'espressione regolare (peraltro abbastanza priva di senso[1]) se devi sostituire un valore fisso?

    Codice PHP:
    $number str_replace('%%number%%'$i$number); 
    [1] il tuo pattern dice qualcosa come "individua la stringa %%number%%, prendi tutto cio' che c'e' prima e cio' che c'e' dopo, e sostituisci il tutto con la parte prima, la variabile $i e la parte dopo", che e' la stessa cosa che dire - molto semplicemente - "sostituisci %%number%% con $i". Tutto il resto e' superfluo.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    250
    Grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.