Эти токены, созданные в Facebook, когда кто-то ссылается на друга в окне создания статуса, неофициально известны как , упоминает или теги .
Похоже, что вы ищете существующее надежное решение для создания этих вещей;если это так, проверьте Mentionator , который действительно поддерживается вами.
Если, с другой стороны, вас интересует, как создается такая утилита, читайте дальше.
Утилита управления «упоминанием» состоит из 3 компонентов:
Модуль автозаполнения : компонент, отвечающий за заготовку и отображение набора элементовэто может использоваться для создания упоминания по заданной строке.
Модуль отслеживания упоминаний : компонент, отвечающий за отслеживание данных, связанных с упоминанием;Как минимум, местоположение, а также поверхностные и существенные (если они существуют) значения каждого упоминания должны отслеживаться во всех модификациях текста элемента ввода, к которому прикреплена утилита.
Модуль визуального разграничения упоминаний : Компонент, отвечающий за различие текста упоминания от остального текста в элементе ввода, к которому прикреплена утилита *
Если вам интересно узнать, как каждый из этих модулей может выглядеть в коде, вы можете взглянуть на исходный код Mentionator, который хорошо структурирован, прост в использовании и обильно прокомментирован! **
* Важно отметить, что реализация такого средства в Facebook не превращает упоминания в ссылки во время создания статуса, как я и предполагал.Вместо этого текст статуса отправляется на серверы Facebook с (возможно, встроенными) данными, которые указывают местоположение каждого упоминания в статусе.Когда статус должен быть доставлен с серверов пользователю, вышеупомянутые данные о местоположении используются для создания версии текста с «связанным» текстом упоминания.
** АвтозаполнениеМодуль Mentionator - это виджет автозаполнения пользовательского интерфейса jQuery, источник которого не включен в Mentionator.