база - это обращение к бэку, и имена могут быть любые, завтра скажут, что Jscourse - имя человека. Можно регуляркой. Но могут быть и цифры (римские): Петр I
На тостере есть годные ответы https://toster.ru/q/120155 где найти базы русских имен (предполагаю речь о них).
Я скачал базу, чуток обработал, получил 51тыщу имен в 700кб текста. Из них можно теоретически построить регулярку, можно попробовать пробегаться по всему массиву. Честно, не знаю что будет лучше/быстрее. Но делать на клиенте это в главном потоке (в котором происходит рендер) не стоит: будет тормозить.
Если нужно хочется решить задачу, то я бы пилил вебворкер, в него динамически загружал бы базу имен, потом извлекал текст со страницы, в вебворкере бы пытался распознать вхождения имен. И делал бы этого до того как пользователь наведет мышку на текст чтобы при наведении уже показать результат.
Идея была такова, что это будет плагин, который будет встраивать какую-то js логику в страницы. Ты предлагаешь отправлять всю страницу на бек и на беке ее парсить? и возвращать иимена, например?
В контексте плагина не думал. Я думал что страницу тебе отдает сервер.
Отправление страницы на сервер может быть сопряжено с юридическими проблемами из-за privacy.
Воркер для с этой перспективы лучше.
Еще вариант с отправкой данных: можно пропустить текст через MyStem — Технологии Яндекса и он дает альтернативные формы слов, и уже использовать их для поиска имен. Я для примера прогнал такой текст
Сергей Валерианович мыл раму уксусом и неудоумевал почему у него так чертовски хорошо это получается.
Я делал оценку количества данных, которые необходимо хранить/загружать с сервера. Если у тебя плагин, то всю базу можно будет запихнуть в дистрибутив плагина. Предложенная методика от этого не меняется.
Узнать, какие правила именования человек, если не с большой буквы. Таких правил единицы.
Наверное даже может быть так: D’Popularname, хоть я не уверен.