PHXAllowTags
Hàm PHXAllowTags được sử dụng để validate HTML đầu vào, chỉ cho phép một số thẻ nhất định ,tránh sử dụng các thuộc tính nguy hiểm như style, class, hoặc các event (onclick, onmouseover, …).
Mục đích chính: đảm bảo nội dung HTML an toàn khi render trong email hoặc môi trường nhạy cảm.
Chức năng chính
| Loại | Được phép | Không được phép |
|---|---|---|
| Tags | <p>, <b>, <i>, <a>, <br> | <div>, <span>, <script>, <img>, ... |
| Attributes | href (chỉ cho <a>) | class, style, on* (event handlers), bất kỳ attr khác |
| Rules | <a> bắt buộc có href hợp lệ | Bất kỳ thẻ ngoài danh sách Allowed Tags |
Cú pháp
PHXAllowTags(html: string): string
Ví dụ
Hợp lệ:
const html = PHXAllowTags(`<p>Hello <b>world</b></p>`);
Kết quả:
<p>Hello <b>world</b></p>
Không hợp lệ:
const html = PHXAllowTags(`<p class="text-red">Hello <b>world</b></p>`);
Kết quả:
Error: Tag <p>contains forbidden attributes (class/style/event)</p>;