Ссылка называет на странице к статьям Wikipedia в чистом JavaScript

При просмотре я столкнулся с этим сообщением в блоге об использовании API Википедии от JavaScript, для соединения единственного критерия поиска с он - определение. В конце сообщения в блоге автор упоминает возможные расширения включая:

Плагин, который автоматические ссылки называют к статьям Wikipedia.

Это отвечает всем требованиям отлично для проектного требования, я продолжаю работать, но печально я испытываю недостаток в навыках программирования для расширения кода первоисточника. То, что я хотел бы, должно иметь чистый отрывок JavaScript, который я могу добавить к веб-странице, которая связывает все условия на той веб-странице, которые имеют статью о внутренней Wiki к той Wiki.

Я знаю, что это могло бы просить очень, но код похож, это почти там, и я был бы готов добавить щедрость, если кто-либо сделает остающуюся работу для того виртуального кредита..;) Я также подозреваю, что это могло бы быть значимо для немногих других, поскольку я видел подобные запросы, но никакая рабочая реализация (это - простой JavaScript (и поэтому портативный), библиотека/отрывок включает).

Вот образец кода первоисточника, я надеюсь, что любой может добавить к этому или указать на меня на то, что я должен был бы добавить, должен ли я был реализовать это сам (в этом случае, я совместно использую код, если мне удается соединить что-то).


Enter a word -


Обновление
Как указано в комментариях, и время это взяло бы для соединения всех слов и как обработать несколько названий статьи охвата слова, были мои проблемы также..

Я думал бы, начиная со статей отдельного слова, уже покроет большой процент вариантов использования, с, возможно, некоторыми выигрышами в производительности, полученными при пропуске 500 наиболее распространенных слов на английском языке, но тем не менее я не уверен, насколько выполнимый этот подход будет..

На позитивном аспекте однако это все было бы стороной клиента, и некоторая задержка соединения условий полностью приемлема.

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


Обновление 2

'Заостренный' объясненный, ниже которого эта функциональность могла быть достигнута путем изменения некоторых довольно стандартных сценариев выделения, получив список тем статьи от api.php?action=query&list=allpages.
К reinterate: мы используем внутреннюю Wiki, таким образом, список статей, вероятно, ограничен, не неоднозначный и достаточно зависящий от домена для преодоления некоторых ожидаемых проблем в соответствующих словах.

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

5
задан Peter Mortensen 10 March 2010 в 16:25
поделиться

1 ответ

Возможно, что-то вроде этого может помочь:

Предполагается, что очень простой HTML / текст, например:

<div id="theText">Testing the auto link system here...</div>

И два очень маленьких скрипта.

dictionary.js устанавливает список ваших терминов. Я думал, что это можно сгенерировать на php, запросив базу данных статей, если хотите. Он также может быть загружен кросс-доменом (поскольку он устанавливает window.termsRE ). Если вам не нужно создавать список из базы данных, вы также можете вручную поместить его с помощью termlinker.js .

Этот код, который генерирует регулярное выражение, предполагает, что ваш массив terms содержит правильно отформатированные строки для сопоставления с использованием регулярных выражений, поэтому обязательно используйте \\ для выхода [] \. ? * + | () {} ^ &

// dictionary.js - define some terms
var terms = ['testing', 'auto link'];
window.termsRE = new RegExp("\\b("+terms.join("|")+")\\b",'gi');

termlinker.js - это просто простая замена поиска по регулярному выражению для определенных терминов. Это также может быть встроенный