Плагин перелинковки страниц
Вторник, 17 июня 2008 г.
Просмотров: 148
Подписаться на комментарии по RSS
В качестве эксперимента сделал плагин, который выполняет перелинковку страниц. Алгоритм не очень сложный.
Создается массив всех заголовков. После этого он разбивается на слова и удаляются все короткие (до 4 символов). При выводе текстов происходит поиск слов из заголовков, и если есть, то ставится ссылка на соответствующую запись.
Работает средней паршивости по двум одной причинам. Первая - из-за того, что preg_replace не умееет работать с юникодом (ненавижу юникод!!!), пришлось исхитриться и выполнять кодирование в/из windows-1251. Это плохое решение, но зато быстрее, чем менять алгоритм замен.
Вторая - как-то это не очень выглядит. Если для сплогов и говносайтов, то вполне сойдет, а для нормального блога, видимо придется как-то вывод делать по-другому. Как вариант выводить список похожих записей. В общем у кого есть идеи, поделитесь.
ps Такие ссылки выделил серым.

Комментариев: 3
ненавижу юникод!!!
За что ж его так? Посмотрите может что-нибудь наведет на мысль. http://forum.dklab.ru/php/advises/Php-funktsiiDlyaObrabotkiTekstaVKodirovkeUtf-8.html
preg_replace умееет работать с юникодом. См. мануал.
Да, уже разобрался.
Оказалось достаточно указать модификатор «u».