Hướng dẫn php get div content by class - php lấy nội dung div theo lớp

Tôi nhận được một nguồn trang từ một tệp sử dụng PHP và đầu ra của nó tương tự như

check

Từ đó, tôi chỉ cần có một 'div' cụ thể với toàn bộ div và nội dung bên trong như bên dưới khi tôi đưa ra đầu vào là 'dưới' (tên lớp). Bất cứ ai đề nghị tôi làm thế nào để làm điều này bằng cách sử dụng PHP

check

Hướng dẫn php get div content by class - php lấy nội dung div theo lớp

Stuartlc

102K17 Huy hiệu vàng201 Huy hiệu bạc275 Huy hiệu Đồng17 gold badges201 silver badges275 bronze badges

Hỏi ngày 24 tháng 8 năm 2012 lúc 13:36Aug 24, 2012 at 13:36

4

Thử cái này:

$html = <<
    
check
; HTML; $dom = new DOMDocument(); $dom->loadHTML($html); $xpath = new DOMXPath($dom); $div = $xpath->query('//div[@class="under"]'); $div = $div->item(0); echo $dom->saveXML($div);

Điều này sẽ xuất hiện:

check

Đã trả lời ngày 24 tháng 8 năm 2012 lúc 14:24Aug 24, 2012 at 14:24

Snuffnsnuffnsnuffn

2.07213 huy hiệu bạc15 huy hiệu đồng13 silver badges15 bronze badges

1

Chức năng trích xuất nội dung từ một ID div cụ thể từ bất kỳ trang web nào

Hàm dưới đây trích xuất các nội dung từ div được chỉ định và trả về nó. Nếu không tìm thấy divs với ID, nó sẽ trả về sai.

function getHTMLByID($id, $html) {
    $dom = new DOMDocument;
    libxml_use_internal_errors(true);
    $dom->loadHTML($html);
    $node = $dom->getElementById($id);
    if ($node) {
        return $dom->saveXML($node);
    }
    return FALSE;
}

$id là ID của

có nội dung mà bạn đang cố gắng trích xuất,
check
0 là đánh dấu HTML của bạn.

Ví dụ sử dụng:

$html = file_get_contents('http://www.mysql.com/');
echo getHTMLByID('tagline', $html);

Output:

The world's most popular open source database

Đã trả lời ngày 19 tháng 2 năm 2014 lúc 19:28Feb 19, 2014 at 19:28

Hướng dẫn php get div content by class - php lấy nội dung div theo lớp

Amal Muraliamal MuraliAmal Murali

74.2K18 Huy hiệu vàng126 Huy hiệu bạc146 Huy hiệu đồng18 gold badges126 silver badges146 bronze badges

2

Tôi không chắc bạn hỏi gì nhưng đây có thể là nó

preg_match_all("
(.*?)
", $htmlsource, $output);

$ sản lượng bây giờ nên chứa nội dung bên trong của div đó

Đã trả lời ngày 24 tháng 8 năm 2012 lúc 13:42Aug 24, 2012 at 13:42

3

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

functionGetEuityByClassName ($ html, $ className) { getElementByClassname ($html, $classname) {
$ dom = newdomDocument ();dom = new DOMDocument();
$ dom-> loadhtml ($ html);dom->loadHTML($html);
$ xpath = newdomxpath ($ dom);xpath = new DOMXpath($dom);
$ nút = $ xpath-> truy vấn ('// div [@class = "'. $ className. '"]');nodes = $xpath->query('//div[@class="' . $classname . '"]');
$ tmp_dom = newdomDocument ();tmp_dom = new DOMDocument();
foreach ($ nút $ nút) { ($nodes as $node) {
$ tmp_dom-> appendChild ($ tmp_dom-> interpressNode ($ node, true));tmp_dom->appendChild($tmp_dom->importNode($node, true));
}
trả về trang trí ($ tmp_dom-> savehtml ()); trim($tmp_dom->saveHTML());
}