Forum Webscript.Ru
Программирование => PHP => Тема начата: tarya от 25 Октября 2002, 18:39:23
-
задача такая: в тексте определяется месторасположение 3 слов или большое. получается что первое слово имеет индекс например 15, второе 1020, третье 76,.....
как теперь определить какое из них имеет меньший коэфициент чтоб потом с меньшего начинать отсчет.
потому как слов может быть и 2 и 3 и 4, я прям незнаю как определиться, мне для поиска нужно.... :) чтоб я мог взять меньший коэфициет и самый большой и вырезать подстроку.
спасибо
-
Сортировкой массива...:)
-
ну откуда вы все знаете? спасибо большое, далее понятно все
-
Ну, если на PHP то можно еще проще :)
Первое слово ищешь при помощи strpos, последнее - strrpos.
-
Первое слово ищешь при помощи strpos, последнее - strrpos.
да так можно но как узнать какое из них в тексте встречается первым? а кокое последним?
:)
-
да так можно но как узнать какое из них в тексте встречается первым? а кокое последним?
Сорри, стормозил
-
А если первое слово будет в тексте первым, а второе - последним? И текст размером 100 кб? Так и будешь весь текст показывать? Я делал так: заносил все вхождения в массив, затем брал желаемую длину описания, двигал это окно вдоль всего текста и определял, сколько ключевых слов попадет в описание. Находил максимум и вырезал это место. Правда, такой подход тоже имеет свои минусы: иногда в описание попадает 4 вхождения первого слова и ни одного вхождения других слов. Можно пробовать делать несколько описаний покороче и смотреть, чтобы в них попали разние слова.
-
Сортировкой массива...
[OFF]А если серьезно, то проблема очень туманно описана, и каждый понимает ее по-разному.[/OFF]
Правда, такой подход тоже имеет свои минусы:
Кстати... Если показывать краткие описания, то можно не одно, а несколько с максимальными значениями вхождения слов: тогда и пользователю будет понятней, чего ожидать на странице.