Я пытаюсь выделить текст в строке html, используя Html Agility Pack .Я могу заменить текст на <span class="highlight">
, но когда я заменяю текст, пробел вокруг тега span исчезает.Например, если текст "This text will be highlighted"
, он будет выглядеть как "This text will be<span class='highlighted'>highlighted</span>"
, а пробел будет добавлен перед тегом span.Это объединяет слова до и после интервала с текстом интервала.Я просто делаю рекурсивный цикл, подобный этому:
- Получить первый дочерний узел
- , если узел
#text
, чем node.InnerHtml = InnerText.Replace(search_term, span_code)
- , если у узла есть потомокузел перейти к шагу 1
- перейти к следующему брату, затем перейти к шагу 1
Затем я получу InnerHtml
из HtmlDocument
в результате.Я пытался поставить пробел до <span
и после </span>
, но он их убрал.Я попробовал HtmlDocument.OptionWriteEmptyNodes = true;
, это тоже не сработало.Я заменил все символы "\n"
и "\t"
пробелом до создания HtmlDocument
и после получения строки html, и это не повлияло ни на один из них.
Как сохранить пробел при использовании HtmlAgility Pack?