Helpex - Trao đổi & giúp đỡ Đăng nhập
12

Làm cách nào để lấy toàn bộ nội dung bên trong <body>thẻ bằng regex?

Ví dụ,

<html><body><p><a href="#">xx</a></p>

<p><a href="#">xx</a></p></body></html> 

Tôi chỉ muốn trả lại cái này,

<p><a href="#">xx</a></p>

<p><a href="#">xx</a></p>

Hoặc bất kỳ ý tưởng nào khác tốt hơn? có thể là DOM nhưng tôi phải sử dụng saveHTML();thì nó sẽ trả về doctypebodygắn thẻ ...

HTML Purifier rất khó sử dụng vì vậy tôi quyết định không sử dụng nó. Tôi nghĩ regex có thể là lựa chọn tốt nhất tiếp theo cho thảm họa của tôi.

12 hữu ích 4 bình luận 17k xem chia sẻ
26
preg_match("/<body[^>]*>(.*?)<\/body>/is", $html, $matches);

$matches[1] sẽ là nội dung của thẻ body

26 hữu ích 1 bình luận chia sẻ
1
preg_match("~<body.*?>(.*?)<\/body>~is", $html, $match);
print_r($match);
1 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ php regex html-parsing , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading