Методы сравения линков....

Статус
В этой теме нельзя размещать новые ответы.

qwerty

Постоялец
Регистрация
10 Апр 2006
Сообщения
75
Реакции
1
имеется таблица с записями
id|url|discription

в url
могут быть ссылки с например с файлообменника
вида
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

или
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

или еще как но относящиеся к одной группе, а точнее файлу, а также есть ссылки на один архив
тоесть не состоящие из группы линков.
тоесть
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

требуется создать новую таблицу или записать в файл не важно как ну вообщем получить массив вида

id|url|discription|id_parents
для самой первой ссылки в наборе в id_parents должен стоять 0
в примере для Для просмотра ссылки Войди или Зарегистрируйся
а для остальных ссылок в id_parents должен стоять id самой первой ссылки.

для просто не групповых линков соответсвтенно в id_parents будет 0 так как они и заглавные и конечные.

помогите реализовать преобразователь из той таблици в эту.

Очень буду рад Вашей помощи.Сам уже мучаюсь ни как не могу этог сделать.
 
Нашел я ответ на свой вопрос. Может кому пригодится кто не знает.

int similar_text ( string $first , string $second [, float $percent ] )
Вычисляет степень похожести двух строк по алгоритму, описанному Oliver [1993]. Эта реализация алгоритма не использует стэка, использованного в оригинале, вместо этого применяются рекурсивные вызовы, что в некоторых случаях может ускорить процесс. Сложность алгоритма составляет O(N**3), где N - длина более длинной из двух строк.
При передаче по ссылке третьего аргумента, ему присваивается степень похожести двух строк в процентах. Возвращается количество совпадающих символов в двух строках.


int levenshtein ( string $str1 , string $str2 )
int levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del )
int levenshtein ( string $str1 , string $str2 , function $cost )
Функция возвращает расстояние Левенштейна между двумя строками, или -1, если хотя бы одна из строк длиннее 255 символов (этого более чем достаточно для сравнения имен или поиска по словарю, а проводить генетический анализ на PHP просто несерьезно).
Расстояние Левенштейна - это минимальное количество вставок, замен и удалений символов, необходимое для преобразования str1 в str2 . Сложность алгоритма равна O(m*n), где n и m - длины строк str1 и str2 имеющей сложность O(max(n,m)**3), но все же довольно много).
В простейшей форме функция принимает в качестве аргументов две строки и возвращает минимальное количество вставок, замен и удалений символов, необходимое для преобразования str1 в str2 .
Второй вариант принимает три дополнительных аргумента, задающих стоимость операций вставки, замены и удаления. Этот вариант универсальнее первого, но не так эффективен.
Третий вариант (который еще не реализован) будет наиболее универсальным, но и самым медленным. Он будет принимать в качестве третьего аргумента пользовательскую функцию, которая будет вычислять стоимость каждой возможной операции.

Пользовательская функция будет иметь следующие аргументы:
  • <LI class=listitem>тип операции: 'I', 'R' or 'D' <LI class=listitem>текущий символ в строке 1 <LI class=listitem>текущий символ в строке 2 <LI class=listitem>текущая позиция символа в строке 1 <LI class=listitem>текущая позиция символа в строке 2 <LI class=listitem>количество символов, оставшихся в строке 1
  • количество символов, оставшихся в строке 2
Пользовательская функция должна возвращать положительное целое, определяющее стоимость конкретной операции.

Использование пользовательской функции позволяет учитывать различия между символами и даже контекст символов при вычислении стоимости операций вставки, замены и удаления, но ценой потери скорости по сравнению с двумя первыми вариантами.

Добавлено через 2 минуты
так же требуется добавить что эти функции есть только
в (PHP 4 >= 4.0.1, PHP 5)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху