Google любит результаты поиска - PullRequest
0 голосов
/ 30 октября 2011

Исходя из моего последнего вопроса:

приведение в порядок результатов поиска из базы данных php

Мои исследования привели меня к следующему коду для усечения результатов поиска, выделения ключевого слова и отображения количества символов слева и справа от ключевого слова. Выглядит лучше.

Мой вопрос теперь с приведенным ниже кодом, добавляя символы слева или справа от ключевого слова, которое сокращает слова пополам.

пример:

Savings plans

..le="background: #E13300;">investing in international accounts is no longer the premise of the rich and famous, all expatriates living abroad can now enjoy flex...

Как сделать так, чтобы функция усечения перестала разрезать мои слова и теги пополам ????

Код:

 $word = 'invest'; 
$characters_before="80";
$characters_after="80";
function supertruncate($text, $word, $characters_before, $characters_after){
                  $pos = strpos($text, $word);
    $start = $characters_before < $pos ? $pos - $characters_before : 0;
    $len = $pos + strlen($word) + $characters_after - $start;
                   $text = str_ireplace($word, '<span class="highlight" style="background: #E13300;">' . $word . '</span>', $text);
    return substr($text, $start, $len);
}

1 Ответ

0 голосов
/ 30 октября 2011

Усекать первым. Затем выделите.

$text = substr($text, $start, $len);
return str_ireplace($word, '<span class="highlight" style="background: #E13300;">' . $word . '</span>', $text);
...