Я запустил код, который вы показали, и получаю переводы строки. Предполагая, что вы используете последнюю версию goquery, вы тоже должны быть, , если ваш html не
<p>
Line 1<br />
Line 2<br />
Line 3<br />
Line 4<br />
Line N
</p>
но на самом деле это что-то вроде:
<p>
Line 1<br />Line 2<br />Line 3<br />Line 4<br />Line N
</p>
(имея в виду, что, например, когда вы открываете инструменты разработчика Chrome, вероятно, отображает его как первое, даже если фактический источник является последним)
В этом случае ожидается ожидаемое поведение:
Чтобы решить, вы, вероятно, могли бы просто сделать:
p := s.Find("li p").Next()
p.SetHtml(strings.Replace(p.Html(), "<br />", "<br />\n", -1)).Text()
хотя, возможно, вам придется поиграть с тем, использовать ли <br/>
или <br />
или <br>
, так как я не уверен, как он это отрендерит.