far visualizzare solo una porzione del testo contenente il risultato,
Per fare questo devi usare una combinazione di funzioni, tra cui anche substr(), che ti permette di tagliare una stringa fino al punto che a te interessa.
Con str_replace() puoi permetterti di evidenziare la parola, con un grassetto, con uno <span> particolare o come preferisci.
Tenendo conto, però, che la chiave di ricerca può trovarsi in qualsiasi parte del testo, far vedere solo una parte del testo dove è contenuta (restituito dal motore di ricerca) non è semplicissimo e prevede un lavoro che non è certo facile descrivere in 3 righe qui in questo post.

Come ti diceva telegio, forse è meglio se apri un post specifico.