$list = str_replace(" "," ",$result,$count);
Questa è la classica funzione di str_replace che su php5 ha un nuovo parametro,il count dei replace che effettua.
Ma in php4 come posso fare il count dei replace...?
$list = str_replace(" "," ",$result,$count);
Questa è la classica funzione di str_replace che su php5 ha un nuovo parametro,il count dei replace che effettua.
Ma in php4 come posso fare il count dei replace...?
Potresti usare le espressioni regolari, come preg_replace.
Ciaoo!!
Spiegare plz
Non c'è molto da spiegare, soprattutto se devi eseguire delle sostituzioni semplici (come lo permette str_replace).
preg_replace("#vechhio testo#", "nuovo testo", $var, $limite);
Ciaoooo!
Il problema non è limitare le sostituzioni,ma effettuarle tutte e contarle.
Esempio pratico con php5:
<?
$var="provaprovaprova";
$list = str_replace("p"," ",$var,$count);
echo"Risultato <br /> $list $count";
?>
Risultato
rovarovarova 3
---------------------
Vorrei ottenere lo stesso risultato con php4
Sorry non avevo capito la richiesta! :D
Così su due piedi potresti usare 2 modi, sempre con le regex.
1° con preg_replace_callback, in cui puoi richiamare una funzione php in concomitanza alla sostituzione, e nel tuo caso puoi far aumentare una variabile per il conteggio.
2° con preg_match, eseguendo un ciclo:
while(preg_match(...)){ //sotituisci e $var++; }
però devi vedere se nel tuo caso è fattibile.
Ciaooooo!!!!
Niente da fare.....mmm
--------------------------------
Nel frattempo pongo un'altro problema.
$var="Prova1 prova contenuto qualsiasi $List Prova| altro contenuto";
echo"$var";
Vorrei che il risultato sia Prova.
Cioè che lo script prenda da $List al prossimo pipe,e che mi dia come outpout Prova.
Speriamo bene...
Ultima modifica di svacant : 31-01-2007 alle ore 16.51.10
fai
Codice PHP:
$var="Prova1 prova contenuto qualsiasi $List Prova| altro contenuto";
$var = explode (" ", $var);
echo $var[1];
Magari fosse così semplice.
Il contenuto prima e dopo di $List Prova| può essere qualsiasi,e siccome non è una variabile fissa con l'explode non si fà niente,già provato.
$var="Prova1|..$prova..-?prova$List Prova| 1$||";
ecco un piccolo esempio di come potrebbe variare il contenuto.
Quindi avrei bisogno di una funzione che prenda da $List al prossimo pipe.
Ultima modifica di svacant : 31-01-2007 alle ore 17.16.23
Codice PHP:
<?
$var="provaprovaprova";
$count=substr_count($var,"p")
$list=str_replace("p"," ",$var);
echo"Risultato<br />{$list} {$count}";
?>
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
Grazie funcool,grazie anche a te debug.
Il primo problema è risolto!...ora resta il secondo.
(Lo sò sn un rompi pale lol)
Codice PHP:
<?
$list="parola";
$var="Prova1 prova contenuto qualsiasi $List Prova| altro contenuto";
$testo=preg_replace("#".$list."(.+?)|]#i",$1,$var);
echo $testo;
?>
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
Niente non funge,vediamo se riesco da solo...
Scusa ho scritto un carattere in più, prova così:
Codice PHP:
$testo=preg_replace("#".$list."(.+?)|#i",$1,$var);
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
Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in C:\Programmi\EasyPHP 2.0b1\www\hublist\prova.php on line 8
<?
$list="List";
$var="Prova1 prova contenuto qualsiasi \$List Prova| altro contenuto";
$testo=preg_replace("#".$list."(.+?)|#i",1,$var);
echo $testo;
?>
Se cambio $1 con 1..ecco il risultato
1P1r1o1v1a111 1p1r1o1v1a1 1c1o1n1t1e1n1u1t1o1 1q1u1a1l1s1i1a1s1i1 1$11P1r1o1v1a1|1 1a1l1t1r1o1 1c1o1n1t1e1n1u1t1o1
Prova così:
Codice PHP:
$testo=preg_replace("#".$list."(.+?)|#i","\\1",$var);
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
Si comporta come lo str_replace,difatti elimina la variabile $list dalla stringa $var.
$list=" ";
$var="Prova1 prova contenuto qualsiasi \$List Prova| altro contenuto";
$testo=preg_replace("#".$list."(.+?)|#i","\\1",$va r);
echo $testo;
Il risultato è l'eliminazione degli spazi.
Allora prova così:
Codice PHP:
<?
$list="parola";
$var="Prova1 prova contenuto qualsiasi ".$List." Prova| altro contenuto";
if (ereg("#".$list."(.+?)|#i","\\1",$var,$regs))
echo $regs[1];
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
Niente :(
Ti dà qualche errore?
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