LẤY NỘI DUNG, TÌM KIẾM VÀ TÁCH NỘI DUNG
Các bạn truy cập vào trang tỷ giá của 24h.com.vn thông qua địa chỉ: http://hcm.24h.com.vn/ttcb/tygia/tygia.php
Chúng ta sẽ sử dụng hàm file_get_contents() để lấy nội dung HTML của trang trên. Tiếp theo chúng ta sử dụng regular expression để tìm kiếm bảng dữ liệu tỷ giá ( đây là nội dung chính mà chúng ta cần ) và hiển thị bảng đó trên trang của chúng ta.
Đoạn code lấy dữ liệu như sau
<?php $link = "http://hcm.24h.com.vn/ttcb/tygia/tygia.php"; $html = file_get_contents($link); $reg = '/class="tb-giaVang">(.*?)<\/table>/s'; $match = array(); $result = preg_match($reg, $html, $match); ?>
Chúng ta có 1 mảng $match dùng để lưu trữ các giá trị mà chúng ta đã lấy được thông qua hàm preg_match() và chuỗi pattern $reg.
XUẤT DỮ LIỆU
Tiếp theo chúng ta tạo trang HTML để trang được hoàn chỉnh 😀
<!DOCTYPE html> <html> <head> <title>Tỷ giá</title> <meta charset="utf-8"> </head> <body> <div class="div_Wrapper"> <h1>Tỷ giá cập nhật mới nhất</h1> <table class="tbl_TyGia" cellpadding="0" cellspacing="0" width="100%"> <!-- Nội dung lấy được từ trang 24h tại đây --> </table> </div> </body> </html>
Đoạn mã PHP dùng để hiển thị nội dung mà chúng ta đã tìm được lưu trong $match sẽ được thay thế vào phần comment trong HTML <!– Nội dung lấy được từ trang 24h tại đây –>
<?php if($result){ echo $match[1]; }else{ echo "<tr><td>Không thể lấy dữ liệu từ trang 24h</td></tr>"; } ?>
Các bạn có thể định dạng lại bảng dữ liệu bằng CSS. Kết quả chạy thử trên localhost.
Chúc các bạn thành công!