我需要解析一个包含<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“列”。
我的代码:
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:TEXT的标题)和里面: “你好朋友使用simpleHTMLdom解析很酷”?因为暂时我有“你好”而在另一栏我有“朋友”..“解析很酷”......“使用”....“simpleHTMLdom”
谢谢大家
答案 0 :(得分:1)
为什么在插入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);
}