Điều này sẽ giúp bạn bắt đầu với phần "ngữ cảnh" ...
// 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...'
Hàm này không tính đến các trường hợp mà các ranh giới đệm sẽ đi ra ngoài chuỗi nội dung, như khi từ khóa được tìm thấy gần đầu hoặc cuối nội dung. Nó cũng không tính đến nhiều trận đấu, v.v. Nhưng hy vọng ít nhất nó sẽ hướng bạn đi đúng hướng.