MaxSite CMS

Официальный сайт

Плагин перелинковки страниц

Рубрика: MaxSite CMS -> Плагины
Вторник, 17 июня 2008 г.
Просмотров: 148
Подписаться на комментарии по RSS

В качестве эксперимента сделал плагин, который выполняет перелинковку страниц. Алгоритм не очень сложный.

Создается массив всех заголовков. После этого он разбивается на слова и удаляются все короткие (до 4 символов). При выводе текстов происходит поиск слов из заголовков, и если есть, то ставится ссылка на соответствующую запись.

Работает средней паршивости по двум одной причинам. Первая - из-за того, что preg_replace не умееет работать с юникодом (ненавижу юникод!!!), пришлось исхитриться и выполнять кодирование в/из windows-1251. Это плохое решение, но зато быстрее, чем менять алгоритм замен.

Вторая - как-то это не очень выглядит. Если для сплогов и говносайтов, то вполне сойдет, а для нормального блога, видимо придется как-то вывод делать по-другому. Как вариант выводить список похожих записей. В общем у кого есть идеи, поделитесь.

ps Такие ссылки выделил серым.

Комментариев: 3

  1. 2008-06-17 в 11:33:24 | Алексей (анонимно)

    ненавижу юникод!!!

    За что ж его так? Посмотрите может что-нибудь наведет на мысль. http://forum.dklab.ru/php/advises/Php-funktsiiDlyaObrabotkiTekstaVKodirovkeUtf-8.html

  2. 2008-06-17 в 12:24:33 | Sam (анонимно)

    preg_replace умееет работать с юникодом. См. мануал.

  3. 2008-06-17 в 12:28:53 | Максим

    Да, уже разобрался. smile Оказалось достаточно указать модификатор «u».

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)