Ciao a tutti, leggendo il manuale ufficiale ho capito che la funzione preg_replace() restituisce la stringa sostituita con il pattern indicato, se la trova, oppure la stringa inalterata.
Io vorrei fare in modo di visitare ogni elemento di un array con tale funzione e riempire un altro array solo con le stringhe che la funzione ha rimpiazzato.
Avete qualche idea?
Posto il mio codice
codice:
function highlightWords($word,$array_da_visitare,$array_da_popolare){
/*** loop of the array of words ***/
/*** quote the text for regex ***/
$word = preg_quote($word);
/*** highlight the words ***/
for($i=0;$i<sizeof($array_da_visitare);$i++){
//Vorrei che l' array venisse popolato solo se viene trovata la corrispondenza, quindi come modificare la seguente istruzione?
$array_da_popolare[$i]['description'] = preg_replace("/\b($word)\b/i", '<span class="highlight_word">\1</span>', $array_da_visitare[$i]['description']);
}
/*** return the text ***/
return $text;
}