mille grazie! risolto il problema grassetto per il resto...al momento son costretto a rinunciare anche se un'idea complicata mi era venuta in mente:

-immagazzinare l'intero campo della ricerca in una variabile e contarne in caratteri in $caratteri

-trovare la prima occorrenza del risultato con strpos() usando le keyword di ricerca (eventualmente usando explode se sono più di una)

-usare substring($campo, x, -y) dove x è il numero di caratteri dall'inizio di $campo (da cui ne sottraggo una ventina, per stampare anche un paio di parole precedenti)dove si presenta l'occorrenza e -y è il numero di caratteri dalla fine della stringa $campo (a cui ne aggiungo una ventina, per il motivo di cui sopra).

ma ho dei problemi:
1) stropos() mi trova solo la prima occorrenza...e le altre???
2) mi sembra troppo complicato e farraginoso...