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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Результаты поиска

Сообщения:  [1-4] 

 
 автор: Петр   (18.03.2008 в 11:18)   письмо автору
 
   для: vitroot   (18.03.2008 в 09:33)
 

$out[индекс]
$out[0]
$out[1]
$out[2]
...

   
 
 автор: vitroot   (18.03.2008 в 09:33)   письмо автору
 
   для: exp   (18.03.2008 в 01:30)
 

ОГромное спасибо за ответ! Вот только не очень понял, как отсюда результат доставать из массива...

   
 
 автор: exp   (18.03.2008 в 01:30)   письмо автору
 
   для: vitroot   (17.03.2008 в 10:55)
 

понятно что в строке дело происходит , но непонятно есть в строке html или нет,
и с одной строки выводятся все отрезки с найденным или нет

вариантов масса
<pre><?
$txt 
'text text text text text text text text text text text text 
text text text text text  text php php text text text text text text 
text text text text text text text text text text text text 
text text text text text text text text text text php text text'
;
$blocks 20#столько байт желательно до и после
// строковыми функциями
$start 0;
$result = array();
$len strlen($txt);
while((
$start stripos($txt'php'$start)) !== false)
{
    
$in = (($start $blocks) < 0) ? 
        
0strpos($txt' ', ($start $blocks));# нахождение пробела до
    
$out = (($start $blocks) > $len) ?
        
$len strpos($txt' ', ($start $blocks));# --//-- после
    
$result[] = substr($txt$in, ($out-$in));
    
$start $out;
}
print_r($result);

// и так
eregi('[[:<:]].{0,20}php.{0,20}[[:>:]]'$txt$out);
print_r($out);

?></pre>

   
 
 автор: vitroot   (17.03.2008 в 10:55)   письмо автору
 
 

Недавно в этой - http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=50778&page=1 теме спрашивал по поводу подцветки слова в строке результата поиска. Спасибо, что помогли. Но встал другой вопрос, опять из серии "работа со строками". Может кто подскажет...
Допустим, искали текст (статью, например), в котором встречается слово "PHP". Нашлась статья в БД, в которой слово "PHP" встречается 3 раза. При помощи substr_count () вычисляю эту цифру - это элементарно, вопрос вот в чем - необходимо в результатах поиска вывести не весь найденный текст, а, допустим, всего 3 предложения, в которых одно содержит искомое слово. Например:

найден текст:

PHP - язык web-программирования. Данный язык очень похож на язык Cи. Этот язык имеет огромное количество функций, облегчающих разработку web-приложений. На данный момент именно на нем написано большенство web-сайтов интернета.

В результате поиска необходимо вывести, допустим, только первые 3 предложения, а не все 4 (в данном случае). Причем заранее, конечно, не известно, сколько предложений существуют ДО искомого слова ("РНР") и ПОСЛЕ. Можно, конечно, ограничиваться не предложениями, а словами, то есть, необходимо вывести ~10 слов ДО искомого слова ("РНР") и 10 слов ПОСЛЕ (можно ориентируясь пробелами). Ума не приложу, как такое реализовать... :(

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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