Доработка модуля перелинковки

Доработка модуля перелинковки
28 января 2013 г.
Для сайта на diafan можно подключить перелинковку. Однако, работает она не так, как бы хотелось. Вот описание того, как должно быть:

• Требуется: для ссылок, уже проставленных вручную, перелинковка не должна добавляться. То есть если текст заключен в <a></a> - на него не распространяется перелинковка скрипта.

• Необходимо, чтобы учитывался порядок преобразования ссылок для фраз, одна из которых является частью другой. Например, имеем:
$keywords = array(
'Молоко=> '/ ',
'Молоко топленое' => '/ ',

И есть текст «Молоко топленое – самое лучшее на свете», то в данном случае добавится ссылка для слова «Молоко». Больше добавлений не будет. Фрагмент будет выглядеть:
<a href=«/»>Молоко</a> топленое – самое лучшее на свете. Потому, что в файле keywords.php «Молоко» стоит выше «Молоко топленое».

• На одной странице может быть добавлена только одна ссылка с одним URL.

Например, имеем текст: «Молоко топленое – самое лучшее на свете.

Молоко топленое должно быть в каждом доме». Файл при этом имеет
вид:

$keywords = array(
'Молоко топленое' => '/ ',
'Молоко=> '/ ',
'свете' => '/ ',

Для этого текста получаем перелинковку:

<a href=«/»>Молоко топленое</a> – самое лучшее на свете. Молоко топленое должно быть в каждом доме.

По слову «свете» ссылка не добавилась, так как в тексте уже есть ссылка на главную страницу.