Chuỗi html php sang dom
Như bạn có thể đã biết, PHP là ngôn ngữ phụ trợ phổ biến hỗ trợ nhiều CMS phổ biến, bao gồm cả WordPress. Nếu bạn đang bước vào phát triển WordPress hoặc PHP, bạn sẽ thấy bài viết này hữu ích Show
Bạn có thể đã biết cách phân tích cú pháp HTML bằng Javascript hoặc JQuery nếu bạn đã từng xử lý thao tác DOM (Mô hình đối tượng tài liệu) trên giao diện người dùng Có liên quan. Bạn có nên học JQuery vào năm 2020? Vì Javascript chạy ở phía máy khách nên nó có thể tương tác với DOM của trình duyệt Nhưng nếu chúng ta muốn xử lý dữ liệu HTML trên máy chủ thì sao? Xem video Bằng cách phát video này, bạn đồng ý với Điều khoản của YouTube Xem trên YouTube →Phân tích cú pháp là gì & Công dụng của nó là gì?
Giả sử bạn muốn lấy tất cả các liên kết trên một trang web. Các lớp phân tích cú pháp PHP DOM có thể giúp bạn Các lớp DOM quan trọng trong PHPCó khoảng 19 lớp liên quan đến DOM trong PHP. Một số trong những cái quan trọng là
DOMDocument, Nodes và Elements______02 là cái đầu tiên được đề cập ở đây. Nó lấy HTML làm đầu vào và trả về một đối tượng cấp quyền truy cập vào các phần tử DOM. Nó có thể tải HTML hoặc XML từ một chuỗi hoặc tệp. Lớp định nghĩa một số phương thức như getElementById giống với các hàm trong Javascript
Trong bài đăng này, chúng ta sẽ chủ yếu nghĩ về thao tác HTML trên XML Điểm giaoDOM được tạo từ HTML là một cấu trúc dạng cây được tạo thành từ các nút riêng lẻ. Các nút này có thể thuộc bất kỳ loại nào, chẳng hạn như một phần tử, văn bản, nhận xét, thuộc tính, v.v. 3 là lớp cơ sở mà tất cả các loại lớp nút kế thừa từ đóyếu tốLớp 4 mở rộng lớp 3 có thể đại diện cho các phần tử trong phần đánh dấu HTML của bạn. Đối tượng của 4 có thể là bất kỳ thành phần nào như hình ảnh, div, span, bảng, v.v.Ví dụ thực tếKhông đi sâu vào lý thuyết, chúng ta hãy đi sâu vào một số ví dụ thực tế. Trước hết, chúng tôi muốn một số dữ liệu HTML. Để làm được điều đó, chúng ta hãy sử dụng một trong những bài viết trong blog này về tối ưu hóa hình ảnh Chúng tôi sẽ thực hiện các công việc sau với HTML mẫu của chúng tôi
Đây là yêu cầu cuộn tròn
Biến $res chứa toàn bộ HTML từ trang web Chọn theo IDNếu bạn xem trang mẫu của chúng tôi, bạn có thể thấy rằng nó chứa hai bảng. Giả sử tôi muốn tìm số hàng trong bảng đầu tiên. Sử dụng chrome dev-tools, tôi thấy rằng bảng được yêu cầu có Id – 7________số 8Đoạn mã trên cho đầu ra
Chọn một thẻ theo tên của nóCả hai lớp 2 và 4 đều có phương thức 0 cho phép chúng ta chọn các phần tử bằng cách sử dụng tên của thẻ. Ví dụ: nếu chúng ta phải lấy tất cả các tiêu đề h2 từ một trang, chúng ta có thể sử dụng chức năng này 3Kết quả 4Tìm các phần tử với một lớp cụ thểTrong Javascript, phương thức 1 giúp dễ dàng chọn bất kỳ phần tử nào bằng bộ chọn CSS. Trong PHP, nó không đơn giản như vậy. Thay vào đó, chúng ta phải sử dụng lớp 2 để truy vấn và duyệt qua cây DOMVí dụ. Chọn tất cả các bảng có lớp 3 8Giống như 4, phương thức 5 của 2 cũng trả về một 7. Nó lấy một biểu thức làm đối số. Biểu thức XPath này linh hoạt đến mức chúng ta có thể thực hiện hầu hết mọi loại truy vấnNếu bạn chưa quen với XPath, thì bảng hướng dẫn này từ Devhints. io chứa nhiều danh sách bộ chọn CSS & JS và các biểu thức XPath tương ứng của chúng. Nó sẽ giúp bạn tìm ra biểu thức thích hợp cho truy vấn bạn muốn thực hiện Trích xuất các liên kết từ một trangPhân tích cú pháp mở ra một số cơ hội. Trích xuất các liên kết từ một trang web là một cách sử dụng như vậy. Đó là cách trình thu thập thông tin thu thập thông tin trên toàn thế giới web Giả sử tôi muốn tìm tất cả các liên kết bên ngoài tới một trang web cụ thể trên một trang web. Trong trang mẫu của chúng tôi, điều tôi muốn làm là tìm tất cả các liên kết ngoài tới wordpress. trang web org từ bài đăng trên blog. Vì vậy, đây là cách tôi đã làm nó 3Sửa đổi và lưu HTMLCho đến nay chúng ta đã thấy cách trích xuất hoặc chọn dữ liệu cần thiết từ HTML. Bây giờ, hãy xem cách chúng tôi có thể sửa đổi nó bằng cách thêm hoặc xóa các thành phần và thuộc tính Chèn phần tử HTML mới vào tài liệuTrong ví dụ này, chúng ta sẽ xem cách thêm hình ảnh có liên kết sau đoạn đầu tiên. Đây là cách bạn chèn banner quảng cáo giữa bài viết 4Lưu ý rằng phương thức 8 trả về chuỗi html đã thao tácXóa một phần tử khỏi tài liệuĐể xóa một phần tử khỏi HTML, chúng ta có thể sử dụng phương thức 9 từ lớp 4 8Ở đây chúng tôi đã thực hiện một truy vấn XPath để tìm tất cả các phần tử với lớp del. Sau đó, chúng tôi xóa từng nút khỏi tài liệu bằng cách lặp lại đối tượng 7 bằng cách sử dụng vòng lặp foreach 0Thao túng các thuộc tínhCác lớp và Id không phải là thuộc tính duy nhất chúng ta có thể truy cập trong PHP DOM. Lớp 4 có một số hàm có thể lấy, đặt hoặc xóa các thuộc tính khỏi một phần tử. Các phương thức này trông tương tự như của Javascript. Như vậy bạn sẽ thấy dễ hiểu 1Phần kết luậnCho đến giờ, chúng ta đã xem xét một số API DOM quan trọng trong PHP. Tôi hy vọng rằng nó sẽ giúp bạn bắt đầu phân tích cú pháp dữ liệu HTML và XML một cách dễ dàng. Nếu tôi không rõ ràng ở một số điểm nhất định, hãy hỏi nó trong phần bình luận Làm cách nào để chuyển đổi HTML sang DOM?// chuỗi html const htmlStr = ""; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM "; // tạo trình phân tích cú pháp mới const parser = new DOMParser(); // chuyển đổi chuỗi html thành DOM const document = parser. parseFromString(htmlStr, "text/html"); Bây giờ chuỗi HTML được chuyển đổi thành nút HTML DOM.
Làm cách nào để chuyển đổi chuỗi thành đối tượng HTML?Cách đơn giản nhất để thực hiện việc này là tạo một phần tử, chèn chuỗi vào bên trongHTML , sau đó trả về phần tử . /** * Chuyển đổi một chuỗi mẫu thành các nút HTML DOM * @param {String} str Chuỗi mẫu * @return {Node} HTML mẫu */ var stringToHTML = function (str) { var dom = document.
Bạn có thể thao tác DOM với PHP không?Vì vậy, nếu bạn đã từng làm việc với nội dung của một bài đăng (loại bài đăng hoặc loại bài đăng tùy chỉnh, đối với vấn đề đó) và bạn cần thao tác với các thẻ giống như cách bạn làm với JavaScript, thì hãy using the DomDocument library is one of the most powerful tools are your disposal.
Có DOM trong PHP không?Các hàm trình phân tích cú pháp DOM là một phần của lõi PHP . Không cần cài đặt để sử dụng các chức năng này. |