Giới thiệu
Hàm htmlspecialchars() chuyển đổi các ký tự đặc biệt thành HTML entities để hiển thị an toàn trên trình duyệt (ngăn XSS).
Các ký tự được chuyển đổi
&(ampersand) →&"(double quote) →"'(single quote) →'(hoặc')<(less than) →<>(greater than) →>
Cú pháp
htmlspecialchars(string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $encoding = "UTF-8", bool $double_encode = true): string
Tham số
- string - Chuỗi cần chuyển đổi.
- flags (tùy chọn) - Kết hợp các hằng số:
- Xử lý quote:
ENT_COMPAT(chỉ double, mặc định cũ),ENT_QUOTES(cả hai),ENT_NOQUOTES(không quote). - Xử lý encoding lỗi:
ENT_IGNORE(bỏ qua, không an toàn),ENT_SUBSTITUTE(thay bằng U+FFFD, mặc định),ENT_DISALLOWED(thay code point không hợp lệ doctype). - Doctype:
ENT_HTML401(mặc định),ENT_HTML5,ENT_XML1,ENT_XHTML.
- Xử lý quote:
- encoding (tùy chọn) - Charset. Mặc định
UTF-8(PHP 5.6+). Các giá trị:ISO-8859-1,ISO-8859-15,cp866,cp1251,cp1252,KOI8-R,BIG5,GB2312,BIG5-HKSCS,Shift_JIS,EUC-JP,MacRoman. - double_encode (tùy chọn) -
true(mặc định): encode cả entity đã có;false: bỏ qua entity đã có.
Giá trị trả về
Trả về chuỗi đã chuyển đổi entity.
Ví dụ
<?php
$res = htmlspecialchars("Demo", ENT_QUOTES);
echo $res;
?>
Kết quả:
<a href='mylink' rel="nofollow"><strong>Demo</strong></a>