Wasap
Guest
выделение результата в найденом куске текста
Задача такая надо в текстовом поле в котором ТОЧНО содержится какоето слово
вырезать кусок с этим словом + 300 символов до него и после, также слово надо выделить
Вот код до чего дошёл я сам - этой функцией я обрабатываю поле полученое при при поиске в базе(в нем содержится html)
но с ним проблема при выводе результата поиска
У меня MySQL при поиске находит совпадения в обоих регистрах.
А подсветка делается только в том регистре в каком задоно поисковое слово!
как спости ситуацию??
Задача такая надо в текстовом поле в котором ТОЧНО содержится какоето слово
вырезать кусок с этим словом + 300 символов до него и после, также слово надо выделить
Вот код до чего дошёл я сам - этой функцией я обрабатываю поле полученое при при поиске в базе(в нем содержится html)
но с ним проблема при выводе результата поиска
У меня MySQL при поиске находит совпадения в обоих регистрах.
А подсветка делается только в том регистре в каком задоно поисковое слово!
как спости ситуацию??
PHP:
function formattext($whatfind, $html)//форматирует текст в результате
{
$text = strip_tags($html);
$pos = strpos($text, $whatfind);//позиция найденой подстроки в тексте
$otstup = 300;
$result = '';
if ($pos !== false)//если найдена подстроке
{
if ($pos < $otstup)//если встречается раньше чем первые N символов
{
$result = substr($text, 0, $otstup*2); //то результат подстрока от начала и до N-го символа
// выделяем
$result = eregi_replace ($whatfind, "<b>".$whatfind."</b>", $result)."...";
}
else
{
$start=$pos-$otstup;
$result = "...".substr($text, $pos-$otstup, $otstup*2)."..."; //то результат N символов от совпадения и N символов вперёд
// выделяем
$result = eregi_replace ($whatfind, "<b>".$whatfind."</b>", $result);
}
}
else
{
$result=substr($text, 0, $otstup*2);
}
return $result;
}