Hàm htmlspecialchars () trong PHP
Thí dụ
Chuyển đổi các ký tự được xác định trước "<" (nhỏ hơn) và ">" (lớn hơn) thành các thực thể HTML:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
Đầu ra HTML của đoạn 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.
Đị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à:
- & (ampersand) trở thành & amp;
- "(dấu ngoặc kép) trở thành & quot;
- '(trích dẫn duy nhất) trở thành & # 039;
- <(nhỏ hơn) trở thành & lt;
- > (lớn hơn) trở thành & gt;
Mẹo: Để chuyển đổi các thực thể HTML đặc biệt trở lại các 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ả lại: | 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+ |
Changelog: | 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ố đặt ký tự . |
Các ví dụ khác
Thí dụ
Chuyển đổi một số ký tự được xác định trước thành các 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 đoạn 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'
Thí dụ
Chuyển đổi dấu ngoặc kép thành các thực thể HTML:
<?php
$str = 'I love "PHP".';
echo htmlspecialchars($str, ENT_QUOTES); // Converts double and single quotes
?>
Đầu ra HTML của đoạn 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".
❮ Tham chiếu chuỗi PHP