HTML не является регулярным языком, поэтому использование регулярных выражений в (неконтролируемом) HTML - это то, что следует делать с большой осторожностью (если вообще).
Рассмотрим, например, следующий действительный сегмент HTML:
<img src="boat.jpg" alt="a boat" title="My boat is > everything! I <3 my boat!">
Вы заметите, как засоряется подсветка синтаксиса - как и существующее регулярное выражение, которое было предложено.
Если вы не можете быть уверенным , что строка, которую вы обрабатываете, не будет содержать HTML-код, похожий на описанный выше, вам следует избегать допущений / компромиссов, что заставило бы вас сделать один-единственный маршрут регулярного выражения .
(Примечание: та же проблема относится и к предлагаемому методу char-by-char.)
Чтобы решить вашу проблему, вы должны использовать синтаксический анализатор DOM для анализа вашей строки в объекте HTML, проходя по каждому элементу и конвертируя в текст.
Если у вас есть действительный XHTML, тогда вы можете использовать CF XmlParse()
для создания объекта, который затем можно затем зациклить.
Если это может быть не-XML HTML, то в CF8 нет встроенной опции, поэтому вам придется изучить опции в Java / и т. Д.