Regex xóa thẻ HTML

Dùng /<[^>]*>/g với chức năng tìm và thay thế. Mọi ví dụ bên dưới đều đã được kiểm thử với mẫu này, và bạn có thể mở chúng trong Regex Tester với sẵn dữ liệu mẫu.

Cập nhật

Trước

<p>Hello <strong>world</strong>!</p>

Sau (thay bằng nothing)

Hello world!

Cách mẫu hoạt động

PhầnÝ nghĩa
<Dấu ngoặc nhọn mở
[^>]*Bất kỳ ký tự nào ngoại trừ dấu ngoặc nhọn đóng
>Dấu ngoặc nhọn đóng
→ ""Được thay bằng chuỗi rỗng

Ví dụ code

JavaScript

const out = text.replace(/<[^>]*>/g, "");

Python

import re

out = re.sub(r'<[^>]*>', r'', text)

PHP

$out = preg_replace('/<[^>]*>/', '', $text);

Ghi chú và giới hạn

Nhanh và tiện cho markup đơn giản, nhưng sẽ lỗi với thuộc tính chứa > và không giải mã được entity như &amp;. Trong trình duyệt, new DOMParser().parseFromString(html, "text/html").body.textContent an toàn hơn.

Câu hỏi thường gặp

Regex để xóa thẻ HTML là gì?
/<[^>]*>/g — dùng với chức năng tìm và thay thế. Xem bảng phía trên để biết mỗi phần làm gì.
Có chạy được trong Python và PHP không?
Có — các ví dụ code ở trên dùng cùng mẫu này với re trong Python và các hàm preg trong PHP.
Làm sao để kiểm thử regex này?
Nhấn “Mở trong Regex Tester” — mẫu, cờ và văn bản mẫu sẽ tự động được tải, và kết quả khớp sẽ được tô sáng khi bạn chỉnh sửa.