У меня есть ситуация, когда я анализирую текст и заменяю определенные фразы ссылками. Затем мне нужно повторно проанализировать строку, чтобы заменить второй набор фраз ссылками. Проблема возникает в этой точке, где определенные слова или фразы во втором наборе могут быть подстроками фраз, уже замененных в первом проходе.
Пример : строка «бла-бла-гранд-каньон бла» станет «бла-бла <a href="#">grand canyon</a>
бла» после первого прохода. Во втором проходе можно попытаться заменить слово «каньон» ссылкой, поэтому результирующий разорванный текст будет выглядеть так: «бла-бла <a href="#">
великий <a href="#">
каньон </a></a>
бла».
Поэтому я пытался использовать preg_replace и регулярное выражение для предотвращения появления вложенных тегов <a>
- заменяя только текст, которого еще нет в ссылке. Я пытался откорректировать эту проверку, основываясь на том, есть ли в тексте теги </a>
, но не могу заставить их работать.
Может быть, нужен другой подход?
Большое спасибо заранее!
Dave