2016-04-04 9 views
1

<p> etiketlerini içeren bir web sitesini ayrıştırmam gerekiyor (bunların çoğu) onları almak ve bir csv dosyasına (aynı sütunda) koymak istiyorum.Bir HTML web sayfasını nasıl ayrıştırılır ve <br> etiketleri kaldırılır?

i paragraflar aynı sütunda yer almayan görüyorum testten sonra, o <p> etiketleri örneği olduğunu çünkü <br> ait açıklanmıştır:

HTML:

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

i html ayrıştırmak zaman aşağıda iki <p> olsun ama aynı csv "sütun" değil.

Kodum:

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

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

     }      
    } 

$ kitabı tüm metin içeren dizidir ve ben gibi csv üzerinde $ kitabını koyun: almak için

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

herhangi bir şekilde: csv ait (header: METİN) ve iç: "Merhaba arkadaşlar ayrıştırma basitHTMLdom kullanarak serin"? an için ben "Merhaba" var ve başka sütunda i "dost" .. "ayrıştırma cool" ... "kullanılarak" ettik Çünkü .... "simpleHTMLdom"

sen iyi

cevap

1

Neden ederiz CSV eklemenizden önce jQuery.remove() yapmıyor musunuz? Böyle bir şey: kalıcı sayfadan <br> kaldırmak istemiyorsanız içinde

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

, böyle bir şey yapabileceğini sizin için-döngü:

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