To powinno zacząć od części „kontekstowej”...
// return the part of the content where the keyword was matched
function get_surrounding_text($keyword, $content, $padding)
{
$position = strpos($content, $keyword);
// starting at (where keyword was found - padding), retrieve
// (padding + keyword length + padding) characters from the content
$snippet = substr($content, $position - $padding, (strlen($keyword) + $padding * 2));
return '...' . $snippet . '...';
}
$content = 'this is a really long string of characters with a magic word buried somewhere in it';
$keyword = 'magic';
echo get_surrounding_text($keyword, $content, 15); // echoes '... string with a magic word in it...'
Ta funkcja nie uwzględnia przypadków, w których granice dopełnienia wykraczają poza ciąg treści, na przykład gdy słowo kluczowe znajduje się w pobliżu początku lub końca treści. Nie uwzględnia również wielu dopasowań itp. Ale, miejmy nadzieję, powinno przynajmniej wskazać ci właściwy kierunek.