Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вывод результатов поиска
 
 автор: JonNik   (27.02.2006 в 15:54)   письмо автору
 
 

Пытаюсь сделать поиск по БД. В качестве образца вывода результатов поиска использую Google. Нужно:
чтобы в результате выводилось 3-4 строчки текста - ЦЕЛЫЕ предложения. В этом и проблема, границы предложения, определяю по точке, но точка может быть: датой (23.02), сокращением (г.). К тому же мне кажется, что мой метод определения границ предложения не оптимальный. Что посоветуете.

<?php
$sql
"SELECT 'id', 'text' FROM find_test
      WHERE 'text' LIKE '%"
.$good."%' ORDER BY 'text' DESC";
    
$res2 mysql_query($sql);

    
$highlight str_replace(" ""|"$good);
    while (
$my mysql_fetch_array($res2))
    {
      
$string=DelHTML($my["text"]);
      
// ищем начало искомой строки
      
$beg strpos($string$good);
      if ((
$beg-50) < 0)
        
$beg 0;
      else 
$beg=$beg-50;
      
// ищем начало предложения по точке
      
$beg_t strpos($string'.'$beg-100)+1;
      
// длинна строки, по точке
      
$len strpos($string'.'$beg+150) - $beg_t+1;
      
$string substr($string$beg_t$len);

      
// находим искомое слово выделяем его
      
echo '<br>'.ereg_replace($highlight"<b><font color=#cc0000>\\0</font></b>"$string
        
).'<br><a href="find.php?read&id='.$my["id"].'">Открыть ссылку</a><br>';
    }
?>

   
 
 автор: elenaki   (27.02.2006 в 16:11)   письмо автору
 
   для: JonNik   (27.02.2006 в 15:54)
 

по точке с пробелом после нее :) хотя в сокращениях может и пробел присутствовать...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования