Hàm htmlspecialchars() của PHP
Ví dụ
Chuyển đổi các ký tự được xác định trước "<" (nhỏ hơn) và ">" (lớn hơn) thành thực thể HTML:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
Đầu ra HTML của mã ở trên sẽ là (Xem nguồn):
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
Đầu ra trình duyệt của đoạn mã trên sẽ là:
This is some <b>bold</b> text.
Hãy tự mình thử »Định nghĩa và cách sử dụng
Hàm htmlspecialchars() chuyển đổi một số ký tự được xác định trước thành các thực thể HTML.
Các ký tự được xác định trước là:
- & (ký hiệu) trở thành &
- " (trích dẫn kép) trở thành "
- ' (trích dẫn đơn) trở thành '
- < (nhỏ hơn) trở thành <
- > (lớn hơn) trở thành >
Mẹo: Để chuyển đổi các thực thể HTML đặc biệt thành ký tự, hãy sử dụng hàm htmlspecialchars_decode() .
Cú pháp
htmlspecialchars( string,flags,character-set,double_encode )
Giá trị tham số
Parameter | Description |
---|---|
string | Required. Specifies the string to convert |
flags | Optional. Specifies how to handle quotes, invalid encoding and the used document type. The available quote styles are:
Invalid encoding:
Additional flags for specifying the used doctype:
|
character-set | Optional. A string that specifies which character-set to use. Allowed values are:
Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8. |
double_encode | Optional. A boolean value that specifies whether to encode existing html entities or not.
|
Chi tiết kỹ thuật
Giá trị trả về: | Trả về chuỗi đã chuyển đổi Nếu chuỗi chứa mã hóa không hợp lệ, nó sẽ trả về một chuỗi trống, trừ khi cờ ENT_IGNORE hoặc ENT_SUBSTITUTE được đặt |
---|---|
Phiên bản PHP: | 4+ |
Nhật ký thay đổi: | PHP 5.6 - Đã thay đổi giá trị mặc định cho tham số bộ ký tự thành giá trị của bộ ký tự mặc định (trong cấu hình). PHP 5.4 - Đã thay đổi giá trị mặc định cho tham số bộ ký tự thành UTF-8. PHP 5.4 - Đã thêm ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 và ENT_XHTML PHP 5.3 - Đã thêm hằng số ENT_IGNORE. PHP 5.2.3 - Đã thêm tham số double_encode . PHP 4.1 - Đã thêm tham số bộ ký tự . |
Thêm ví dụ
Ví dụ
Chuyển đổi một số ký tự được xác định trước thành thực thể HTML:
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlspecialchars($str, ENT_NOQUOTES); // Does not convert any quotes
?>
Đầu ra HTML của mã ở trên sẽ là (Xem nguồn):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
Đầu ra trình duyệt của đoạn mã trên sẽ là:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Hãy tự mình thử »Ví dụ
Chuyển đổi dấu ngoặc kép thành thực thể HTML:
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
Đầu ra HTML của mã ở trên sẽ là (Xem nguồn):
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
Đầu ra trình duyệt của đoạn mã trên sẽ là:
I love "PHP".
Hãy tự mình thử »❮ Tham chiếu chuỗi PHP