Я знаю, что регулярное выражение не идеально подходит для использования со строками HTML, и я смотрел PHP Simple HTML DOM Parser, но все же считаю, что это путь. Все теги HTML будут сгенерированы моим программным обеспечением форума, чтобы они были согласованными и допустимыми HTML.
То, что я пытаюсь сделать, это сделать плагин, который найдет список ключевых слов (или фраз) в строке HTML и заменит их ссылкой, которую я указываю. Например, если кто-то набирает:
I use Amazon for that.
он заменит его на:
I use <a href="#" onclick="location.href='http://www.amazon.com'; return false;">Amazon</a> for that.
Проблема заключается, конечно, в том, что если "амазонка" находится в URL-адресе, она также будет заменена. Я решил эту проблему с функцией обратного вызова, найденной на этом сайте, слегка измененной.
Но теперь у меня все еще есть проблема, она все равно заменяет слова между тегами открытия и закрытия.
<a href="#" onclick="location.href='http://www.amazon.com'; return false;">My Amazon Link</a>
Он будет соответствовать "Amazon" в "My Amazon Link"
Мне действительно нужно, чтобы регулярное выражение соответствовало "амазонке" где угодно, кроме <a href
и </a>
Любые идеи?