Forum Webscript.Ru

Программирование => PHP => Тема начата: Sniper от 06 Июня 2004, 13:59:26

Название: расширение функции strstr
Отправлено: Sniper от 06 Июня 2004, 13:59:26
ищу в ХТМЛ - файлах, лежащих в папке на сервере.
   
   $file_text - строка.
   $word - искомое слово
   
   $link1 = strstr ($file_text, $word);
   $link2 = substr ($link1, 0, 100);
   $link3 = str_replace($word, "$word", $link2);
   
   после этого "шаманства" получается почти красиво
   вывожу строку вида "$word и дальше текст попер >>>"
   
   а хочется так:
   "текст перед искомым словом $word и дальше текст попер >>>"
Название: расширение функции strstr
Отправлено: Меняздесьдавнонет от 06 Июня 2004, 15:48:18
тебе нужен не стрстр, а [p]strpos[/p]
Название: расширение функции strstr
Отправлено: Sniper от 07 Июня 2004, 12:47:06
такой вот код:
$link1 = strpos ($file_text, $word);
$link2 = substr ($file_text, $link1-20, 100);
$link3 = str_replace($word, "$word", $link2);

выводит результат в виде:
...арки и сварных швов стальных механизмов, кузовов легкового автомобиля и т.д.)...

почти яндекс... :-)

а как бы мне сделать, чтобя строка спереди и схади не "откусывалась"? чтобы началом и концом строки были целые слова?
Первая мысль: отсчитать назад и вперед от совпадения некоторое количество пробелов.
По ним и распознать начало и конец члов. Например: 10 проелов туда и сюда - это будет 9 слов.
Была мысль про strtok(), но у меня ведь уже есть строка с пробелами, да и как он на русский язык среагирует...
Название: расширение функции strstr
Отправлено: Меняздесьдавнонет от 07 Июня 2004, 14:08:51
пробел в любом языке, вообще-то, пробел
предлагаю со словами не возиться, а откусывать по 50 и с того и с другого краю находить по пробелу и откусывать по них.
strrpos