Forum Webscript.Ru
Программирование => PHP => Тема начата: 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 и дальше текст попер >>>"
-
тебе нужен не стрстр, а [p]strpos[/p]
-
такой вот код:
$link1 = strpos ($file_text, $word);
$link2 = substr ($file_text, $link1-20, 100);
$link3 = str_replace($word, "$word", $link2);
выводит результат в виде:
...арки и сварных швов стальных механизмов, кузовов легкового автомобиля и т.д.)...
почти яндекс... :-)
а как бы мне сделать, чтобя строка спереди и схади не "откусывалась"? чтобы началом и концом строки были целые слова?
Первая мысль: отсчитать назад и вперед от совпадения некоторое количество пробелов.
По ним и распознать начало и конец члов. Например: 10 проелов туда и сюда - это будет 9 слов.
Была мысль про strtok(), но у меня ведь уже есть строка с пробелами, да и как он на русский язык среагирует...
-
пробел в любом языке, вообще-то, пробел
предлагаю со словами не возиться, а откусывать по 50 и с того и с другого краю находить по пробелу и откусывать по них.
strrpos