Система русскоязычных ссылок

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

NetStranger

Постоялец
Регистрация
16 Сен 2008
Сообщения
124
Реакции
1
Вот на пример очень хороший метод линкования статей на Для просмотра ссылки Войди или Зарегистрируйся

Причем если заметить сама ссылка выглядит как Древин, Александр Давыдович
а в href уже подставляется Древин,_Александр_ Давыдович

я что то не пойму как это делается и как устроена запись в БД в таком случае?
там тупо два поля с разными записями генерирующейся автоматически от первой, или же это решение имеет какой то более красивый вариант.. подскажите плиз?
 
я бы хранил только первый вариант, а второй(т.е. ссылку) генерил на лету. ведь замена символов однозначна
 
чо то я вас не понял)) нельзя ли поподробнее и попонятнее) желательно с примером исполнения:(ah:
 
постараюсь _по минимуму_ совсем без наворотов.
скажем, что символы: _{} у нас служебные и в тексте их быть не должно(насколько я помню, в вики так и есть. если интересно то ее спецификация свободно доступна)

в БД всего одна таблица с тремя полями:
---
ID - longint, autoincrement
key - varchar(255), UTF-8
pagetext - text или longtext, UTF-8
---

напишем две статьи.
ID | key | pagetext
--------
1 | хобби художников | Художник {Древин, Александр Давыдович} любил играть на баяне.

2 | Древин, Александр Давыдович | Его биография, бла-бла....
---------

при выводе в хтмл при помощи регэкспа заменяем {Древин, Александр Давыдович} на <a href="http://domen.com/Древин,_Александр_Давыдович">Древин, Александр Давыдович</a>
т.е. в href заменяем пробел на подчеркивание, а сам текст ссылки оставляем как есть.

при запросе у нас страницы /Древин,_Александр_Давыдович
заменяем подчеркивание на пробелы и по этому ключу ищем в БД.

вот и все.

преимущество этого варианта - простота и высокая скорость работы.
еще и масштабируется легко, да хоть на пол-сотни серверов растянуть можно :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху