Я использовал JSoup для разбора текстов песен, и до сих пор это было здорово, но столкнулся с проблемой.
Я могу использовать Node.html()
для возврата полного HTML-кода нужного узла, который сохраняет разрывы строк как таковые:
Glóandi augu, silfurnátt
<br />Blóð alvöru, starir á
<br />Óður hundur er í vígamóð, í maga... mér
<br />
<br />Kolniður gref, kvik sem dreg hér
<br />Kolniður svart, hvergi bjart né
Но, как вы видите, имеет неприятный побочный эффект - сохранение HTML-сущностей и тегов.
Однако, если я использую Node.text()
, я могу получить более привлекательный результат без тегов и сущностей:
Glóandi augu, silfurnátt Blóð alvöru, starir á Óður hundur er í vígamóð, í maga... mér Kolniður gref, kvik sem dreg hér Kolniður svart,
У которого есть еще один неприятный побочный эффект - удаление разрывов строк и сжатие в одну строку.
Простая замена <br />
из узла перед вызовом Node.text()
дает тот же результат, и кажется, что этот метод сжимает текст в одну строку в самом методе, игнорируя новые строки.
Можно ли получить лучшее из обоих миров и правильно заменить теги и объекты, сохраняя разрывы строк, или существует другой способ или способ декодирования объектов и удаления тегов без необходимости их замены вручную?