如何解析 HTML 网页并删除 <br> 标签?

How to parse an HTML webpage and remove <br> tags?

我需要解析一个包含 <p> 标签(其中很多)的网站,我想获取它们并将它们放在 csv 文件中(在同一列中)。

测试后,我发现段落不在同一列中,这是因为 <br> 位于 <p> 标签示例 :

HTML :

<div class="text">
     <p> hello <br> friends </p>
     <p> parsing is cool <br> using <br> simpleHTMLdom </p>
</div>

当我解析下面的 html 时,我得到了两个 <p> 但不是在同一个 csv "column".

我的代码:

if($html_book_page->find('.text')){

   foreach($html_book_page->find('div[class=text] p') as $bookPreview){
      array_push($book, $bookPreview->plaintext);

        }                     
    }

$book 是包含所有文本的数组,我将 $book 放在 csv 上,如:

fputcsv($open_csv, array_values($book), ',', ' ');

任何方式获得: (csv 的 header:TEXT)和内部: "Hello friends parsing is cool using simpleHTMLdom" ?因为目前我有 "Hello" 而在另一列中我有 "friends" .. "parsing is cool" ..."using"... "simpleHTMLdom"

谢谢大家

为什么不在 CSV 插入之前执行 jQuery.remove()?像这样:

$('.text p').find('br').remove()

如果您不想从页面中永久删除 <br>,您可以在 for 循环中执行如下操作:

foreach($html_book_page - > find('div[class=text] p') as $bookPreview) {
  $bookPreview.innerHTML.replace("<br>", "");
  array_push($book, $bookPreview - > plaintext);
}