Возможный дубликат:
Выделите ключевые слова в абзаце
Вот еще один вопрос для вас. У меня есть небольшая проблема в php, и я подумал, прежде чем найти необычное решение самостоятельно, возможно, более простой и быстрый способ решить проблему.
Предполагая, что у меня есть строка, содержащая теги абзаца HTML, такие как:
$string="<p>Hello this is nick</p> <p>i need some help over here</p> <p></p><p>Does anyone know a solution</p>"
И массив укусов, который содержит некоторые «подсказки» слов:
$array=("Hello","nick", "help", "anyone", "solution")
Теперь я хотел бы сделать следующее: Вывести $string
в браузере, но слова «подсказки» должны иметь специальный формат, например, выделены жирным шрифтом или выделены.
Что заставляет меня найти это немного сложно, так это то, что я хочу сохранить абзацы так, как есть. Другими словами, я хочу, чтобы конечный результат выглядел точно как оригинал (включая новые строки / новые абзацы), но с некоторыми словами смелыми
Я думал, что могу использовать strip_tags для удаления тегов <p>
и </p>
а затем разбить возвращаемую строку пробелами. Чтобы получить массив слов. Затем я выводил каждое слово отдельно, проверяя, содержится ли это слово в $array
. Если да, то он будет выводиться жирным шрифтом.
Таким образом, я явно теряю понятие новых абзацев, и все абзацы будут объединены в один.
Есть ли простой способ исправить это? Например, способ получить знания о том, что, например, слово «Hello» начинается в новом абзаце? Или есть что-то еще, что я могу сделать?