Chả là e có đang cwarl data 1 website nhưng trong phần nội dung chính của nó có trộn lẫn cả 2 cái icon social facebook, e xóa mãi mà ko đc Đây là đoạn html của nó e dùng simple html dom với câu lệnh: foreach($html->find("div[class='fb-like fb_iframe_widget']") as $delete_social){ $delete_social->outertext = ''; } $html ->load($html ->save()); Với trong phần content của nó e lấy hình theo cú pháp: Đây là đoạn html của site e đang cwarl và e code như này: foreach($html->find("div[class='post single']") as $ct){ $title = $ct->find("h1[class='post-title']", 0)->plaintext; $contents = $ct->find("div[class='post-content']", 0)->plaintext; $img = $ct->find("table[align='center'] td[class='pic']", 0)->src; } 2 cái kia đều chạy tốt, nhưng phần img thì lại ko trả về link hình. Mong các cụ giúp e, mò mấy ngay nay thốn quá
Nếu ko giải được bằng simple dom thì dùng regex thử xem. Mình bóc tách dùng regex với strpos và strrpos thấy đủ dùng
Bạn viết đoạn này bị sai thì phải: $img = $ct->find("table[align='center'] td[class='pic']", 0)->src; Mình nghĩ phải là : $img = $ct->find("table[align='center'] > td[class='pic']", 0)->src; Lâu rồi mình k dùng dom, nhưng thấy đoạn đó có vẻ sai. Với lại sao bạn không lấy table[class='picture'] mà lại lấy table[align='center']? Không rõ dùng align ở đây chạy có đúng không. Bạn đổi cả phần đó xem sao.
E dùng đoạn code như bác bảo nhưng vẫn ko lấy đc bác ạ, chắc phải thử tìm hỉu regex như mấy bác trên nói