ciauz a tutti...
preciso subito che devo utilizzare preg_replace perchè utilizzp le espressioni regolari..
faccio un esempio per farvi capire il mio problema:
ho un array di $parole e un array $replace con i termini da sostituire...
però vorrei che ogni volta lo facesse solo con la prima parola...
mi spiego meglio
Codice PHP:$parole = array( 'ciao', 'prova');
$replace = array('salve', 'test');
$text = 'ciao ciao questa è una prova per vedere se il mio script di prova funziona';
$text = preg_replace($parole, $replace, $text);
echo $text;
//risultato ottenuto:
// salve salve questa è un test per vedere se il mio script di test funziona
//risultato che vorrei
//salve ciao questa è un test per vedere se il mio script di prova funziona
qualcuno ha qualche idea per una possibile soluzione?
ne ho pensata una...ma mi sembra "esagerata"
probabilmente questo codice nn funziona...l'ho buttato giù adesso senza nemmeno provarlo...Codice PHP:$parole = array( 'ciao', 'prova');
$replace = array('salve', 'test');
$trovato = array();
$text = 'ciao ciao questa è una prova per vedere se il mio script di prova funziona';
$text_array = $pieces = explode(" ", $text);
foreach ($text_array as $value){
if (preg_match($parole, $text, $matches) && !array_key_exists($matches[0], $trovato)){
$value = preg_replace($parole, $replace, $value);
$trovato[matches[0]] ='si';
}
}
$text = $pieces = implode(" ", $text_array);
echo $text;
avete qualche soluzione migliore?
ciauzzz e grazie a tutti per l'aiuto

Rispondi quotando