Hàm html_entity_decode() của PHP
Mô hình
Chuyển đổi các HTML entity định nghĩa trước như "<" (nhỏ hơn) và ">" (đại hơn) thành ký tự:
<?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars_decode($str); ?>
Kết quả đầu ra HTML của mã trên như sau (xem mã nguồn):
<!DOCTYPE html> <html> <body> This is some <b>bold</b> text. </body> </html>
Kết quả đầu ra của mã trên trình duyệt:
This is some bold text.
Định nghĩa và cách sử dụng
htmlspecialchars_decode() hàm chuyển đổi các HTML entity được định nghĩa trước thành ký tự.
Các HTML entity sẽ được giải mã là:
- & Giải mã thành & (và)
- " Giải mã thành " (dấu ngoặc kép)
- ' Giải mã thành ' (dấu ngoặc đơn)
- < Giải mã thành < (nhỏ hơn)
- > Giải mã thành > (đại hơn)
htmlspecialchars_decode() là hàm ngược lại của htmlspecialchars().
Cú pháp
htmlspecialchars_decode(string,flags)
Tham số | Mô tả |
---|---|
string | Bắt buộc. Định nghĩa chuỗi cần giải mã. |
flags |
Tùy chọn. Định nghĩa cách xử lý dấu ngoặc và loại tài liệu sử dụng. Các loại dấu ngoặc có thể sử dụng:
Định nghĩa các flag phụ thuộc vào loại tài liệu sử dụng:
|
Chi tiết kỹ thuật
Trả về giá trị: | Trả về chuỗi đã chuyển đổi. |
Phiên bản PHP: | 5.1.0+ |
Nhật ký cập nhật: |
Trong PHP 5.4, đã thêm các flag bổ sung để quy định loại tài liệu sử dụng:
|
Các ví dụ khác
Ví dụ 1
Chuyển đổi các thực thể HTML được định nghĩa trước thành ký tự:
<?php $str = "Bill & 'Steve'"; echo htmlspecialchars_decode($str, ENT_COMPAT); // Chỉ chuyển đổi dấu ngoặc kép echo "<br>"; echo htmlspecialchars_decode($str, ENT_QUOTES); // Chuyển đổi dấu ngoặc kép và dấu ngoặc đơn echo "<br>"; echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Không chuyển đổi bất kỳ dấu ngoặc nào ?>
Kết quả đầu ra HTML của mã trên như sau (xem mã nguồn):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Steve'<br> Bill & 'Steve' </body> </html>
Kết quả đầu ra của mã trên trình duyệt:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
Ví dụ 2
Chuyển đổi các thực thể HTML được định nghĩa trước thành dấu ngoặc kép:
<?php $str = 'I love "PHP".'; echo htmlspecialchars_decode($str, ENT_QUOTES); // Chuyển đổi dấu ngoặc kép và dấu ngoặc đơn ?>
Kết quả đầu ra HTML của mã trên như sau (xem mã nguồn):
<!DOCTYPE html> <html> <body> Tôi yêu "PHP". </body> </html>
Kết quả đầu ra của mã trên trình duyệt:
Tôi yêu "PHP".