Come da titolo :)
Sostanzialmente, qual'è la differenza fra str_replace, preg_replace e eregi_replace?
Chiedo solo ora visto che è da poco che ho imparato qualcosa sulle regex...
Come da titolo :)
Sostanzialmente, qual'è la differenza fra str_replace, preg_replace e eregi_replace?
Chiedo solo ora visto che è da poco che ho imparato qualcosa sulle regex...
Ultima modifica di Zorinik : 09-07-2006 alle ore 13.56.04 Motivo: Aggiunte...
con str_replace non si possono usare i pattern, mentre con le altre si.
preg_replace funziona con espressioni regolari pcre
eregi_replace funziona con espressioni regolari posix.
queste sono le principali differenze
Uhm... non è che ci abbia capito un granché...Originalmente inviato da jostock
una spiegazione + semplice?
preg e ereg utilizzano le espressioni regolari (spiegarle qui sarebbe da suicidio) mentre str_replace no.
La differenza tra ereg e preg è che la seconda utilizza sintassi Perl compatibile e sono, per questo motivo, più performanti e più veloci della prima.
Se fai qualche ricerca nel forum trovi qualche topic interessante.
Se vuoi un approfondimento su questi argomenti trovi qualche articolo su php.html.it.
Ciaooooo!!!!!!
Ah, ora ho capitoOriginalmente inviato da debug
Un ultima cosa, visto che siamo in tema di regex, qual'è la funzione PHP che estrapola una stringa secondo una regular expression da una variabile contenente del testo
Tutte quelle di cui stiamo parlando in questo topicOriginalmente inviato da Zorinik
Ciaooo!!
Ehm, no, aspetta un attimoOriginalmente inviato da debug
Quelle di questo topic servono per sostituire il risultato di una regex con una stringa, a quanto ne so.
Io vorrei che si memorizzasse in una variabile ad esempio:
Dovrebbe restituire "Ciao come va?".Codice PHP:
$testo="Ciao come va? Io sono Nick!";
$variabile=funzionechecerco("^.+\?",$testo);
echo $variabile;
Per il tuo esempio potresti usare:
$pos=strpos($testo,"?");
substr($testo,0,$pos);
Però se hai situazioni un pò più articolate devi usare per forza di cose una delle 3 funzioni qui discusse! Infatti, come anche nel tuo esempio, tu effettui una sostituzione, cioè sostituisci tutto ciò che è successivo al "?" con una valore vuoto.
Ciaooooo!!!!!!!
Quindi, tipo così?Originalmente inviato da debug
Codice PHP:
$testo=preg_replace("\?.*$","",$testo);
Ultima modifica di Zorinik : 09-07-2006 alle ore 14.57.52
Codice PHP:
$testo="Ciao come va? Io sono Nick!";
$testo2=preg_replace("/(.*)\?{1}(.*)/","\\1?",$testo);
Ciaoooooo!!!!!!
Ok, funziona
Alcuni link utili su questo argomento li puoi trovare in questa discussione.
Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
«Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen