Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    153

    Problema con eregi_replace()

    Salve a tutti, ho nu piccolo dubbio su come usare una funzione... in un forum che ho fatto in php ho utilizzato la funzione eregi_replace() per far sì che alcune parole da me scelte venissero sostituite da altri caratteri in un modo simile:

    eregi_replace ("parola", "carattere sostitutivo", $testo);

    in effetti così funziona benissimo, tuttavia in questo modo posso far sì che venga convertita solo una parola alla volta. Esiste un modo per far sì che la funziona controlli tutto un elenco di parole?

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    per questioni di performance risulta piu appropriato usare le funzioni preg* piuttosto che ereg*

    inoltre nel caso specifico, preg_replace() può prendere anche due array che associano le parole da sostituire con quelle sostitutive, cosa che ereg(i)_replace non fa.
    http://www.php.net/manual/it/function.preg-replace.php
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    153
    Ma anche preg_replace() fa il controllo sul testo indifferentemente se è scritto con le maiuscole o con le minuscole, come eregi_repale() ?

  4. #4
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da danny21
    Ma anche preg_replace() fa il controllo sul testo indifferentemente se è scritto con le maiuscole o con le minuscole, come eregi_repale() ?
    La sintassi è differente, sul manuale la spiega, e spiega anche dei caratteri da mettere dopo i delimitatori e che servono ad amplificare le ricerche in generale...

  5. #5
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    le funzioni preg* utilizzano le espressioni regolari perl compatibili, a differenza delle ereg* che utilizzano sintassi posix.

    per farla (molto) breve, se prima usavi
    eregi_replace('pattern', 'sostituzione', $testo);

    con le preg* utilizzerai
    preg_replace('/pattern/i', 'sostituzione', $testo);

    dove il / è un carattere delimitatore, mentre la i indica che il pattern è case insensitive
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


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.