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"
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;
probabilmente questo codice nn funziona...l'ho buttato giù adesso senza nemmeno provarlo...
avete qualche soluzione migliore?
ciauzzz e grazie a tutti per l'aiuto