Bạn đang làm website bằng WordPres và muốn hiển thị dữ liệu từ website khác lên web như kết quả xổ số hay ,bóng đá phải thường xuyên cập nhật liên tục.Bạn muốn tiết kiệm thời gian,không muốn phải cập nhật thủ công vậy thì sử dụng thư viện là một giải pháp hoàn toàn phù hợp. Trong WordPress, bạn có thể sử dụng thư viện PHP Simple HTML DOM để thu thập dữ liệu (scraping), chỉnh sửa HTML hoặc hiển thị xử lý nội dung từ các trang web khác.
1. Cài đặt thư viện PHP Simple HTML DOM trong WordPress
Để cài đặt và sử dụng php simple html dom trong WordPress bạn làm theo các bước sau nhé.
Bước 1: Tải file xuống từ GitHub hoặc trực tiếp từ https://sourceforge.net/projects/simplehtmldom/
Bước 2: Giải nén file simple_html_dom.php
vào thư mục wp-content/plugins/your-plugin/
(hoặc wp-content/themes/your-theme
nếu dùng trong theme).
Bước 3: Gọi thư viện vào file PHP Thêm đoạn code sau vào plugin hoặc theme của bạn:
require_once(plugin_dir_path(__FILE__) . 'simple_html_dom.php'); // plugin require_once get_template_directory() . '/simple_html_dom.php'; // theme
Cách sử dụng PHP Simple HTML DOM trong WordPress
Dưới đây là một số ví dụ phổ biến về cách sử dụng thư viện này trong WordPress.
Ví dụ 1: Lấy dữ liệu từ một trang web
<?php require_once get_template_directory() . '/simple_html_dom.php'; $url = "https://sonweb.net"; $html = file_get_html($url); foreach ($html->find('h2') as $element) { echo $element->plaintext . '<br>'; } ?>
💡 Giải thích: Đoạn code trên lấy toàn bộ thẻ <h2>
từ trang web sonweb.net
và hiển thị nội dung của chúng.
Ví dụ 2: Lấy danh sách bài viết từ trang web khác
<?php require_once get_template_directory() . '/simple_html_dom.php'; $url = "https://sonweb.net/blog"; $html = file_get_html($url); $posts = [];</div> foreach ($html->find('.post-title a') as $element) { $posts[] = [ 'title' => $element->plaintext, 'link' => $element->href ]; } // Hiển thị danh sách bài viết</div> foreach ($posts as $post) { echo '<a href="' . esc_url($post['link']) . '">' . esc_html($post['title']) . '</a><br>'; }
💡 Giải thích:
- Tìm tất cả các liên kết trong phần có class
.post-title a
(giả định đây là tiêu đề bài viết). - Lưu vào mảng
$posts
, sau đó hiển thị danh sách bài viết với tiêu đề và liên kết.
Ví dụ 3: Lấy kết quả Bảng xếp hạng V-League 2024/2025
<?php function fetch_vleague_rankings() { // URL của trang web chứa bảng xếp hạng V-League $url = 'https://bongda24h.vn/vleague/bang-xep-hang-25.html'; // Lấy nội dung HTML từ trang web $response = wp_remote_get($url); if (is_wp_error($response)) { return 'Không thể lấy dữ liệu bảng xếp hạng.'; } $html = wp_remote_retrieve_body($response); // Sử dụng thư viện simple_html_dom để phân tích HTML require_once(plugin_dir_path(__FILE__) . 'simple_html_dom.php'); $dom = new simple_html_dom(); $dom->load($html); // Tìm bảng xếp hạng trong HTML $table = $dom->find('table[class=table-bxh]', 0); if (!$table) { return 'Không tìm thấy dữ liệu bảng xếp hạng.'; } // Tạo bảng HTML để hiển thị trên trang WordPress $output = '<table class="vleague-table">'; $output .= '<thead><tr><th>Hạng</th><th>Đội bóng</th><th>Trận</th><th>Thắng</th><th>Hòa</th><th>Thua</th><th>Điểm</th></tr></thead>'; $output .= '<tbody>'; foreach ($table->find('tr') as $row) { $output .= '<tr>'; foreach ($row->find('td') as $cell) { $output .= '<td>' . esc_html($cell->plaintext) . '</td>'; } $output .= '</tr>'; } $output .= '</tbody></table>'; return $output; } add_shortcode('vleague_rankings', 'fetch_vleague_rankings'); ?>
💡 Giải thích:
- Lấy dữ liệu HTML từ trang web bongda24h.vn bằng
wp_remote_get()
- Trích xuất nội dung HTML bằng
wp_remote_retrieve_body()
- Sử dụng thư viện PHP Simple HTML DOM để phân tích HTML.
- Tìm bảng xếp hạng V-League trong HTML.
- Tạo bảng HTML để hiển thị dữ liệu trên trang WordPress.
- Định nghĩa shortcode để chèn bảng xếp hạng vào bài viết/trang.
Ghi Chú
PHP Simple HTML DOM chỉ phân tích HTML tĩnh, tức là nó lấy dữ liệu HTML ngay khi trang được tải, nhưng không thể xử lý JavaScript động.
Dùng cURL + Puppeteer / Selenium (các công cụ có thể chạy trình duyệt và thực thi JavaScript).
Hoặc sử dụng API chính thức của trang web (nếu có).
Kết luận
PHP Simple HTML DOM là thư viện giúp bạn dễ dàng thu thập, chỉnh sửa và hiển thị nội dung HTML trong WordPress. Nếu bạn cần xử lý nội dung từ bên ngoài hoặc làm việc với HTML một cách linh hoạt, thư viện này là một công cụ hữu ích.
Bạn muốn tích hợp nó vào plugin, theme hay chức năng nào cụ thể trong WordPress? 🚀