Sau nhiều lần đánh đầu, tôi hiểu rõ hơn về vấn đề mà tôi muốn đăng cho bất kỳ ai khác có thể có vấn đề này.
Mặc dù bộ ký tự UTF-8 sẽ hiển thị các ký tự đặc biệt trên máy khách, mặt khác, máy chủ, có thể không quá hấp dẫn và sẽ in các ký tự đặc biệt như à
và è
là �
và �
.
Để đảm bảo máy chủ của bạn sẽ in chính xác, sử dụng Charset ISO-8859-1
:
Untitled Document
Điều này sẽ in chính xác: àè
Chỉnh sửa [4 năm sau]:
Bây giờ tôi có một chút hiểu biết tốt hơn một chút. Lý do hoạt động này là máy khách [trình duyệt] đang được nói, thông qua phản hồi header[]
, mong đợi một tệp văn bản/HTML ISO-8859-1
. .
Chuyển đổi trích dẫn kép sang các thực thể HTML:
Thí dụ
Chuyển đổi một số ký tự được xác định trước thành các thực thể HTML:
Đầu ra HTML của mã ở trên sẽ là [xem nguồn]:
Jane & amp; 'Tarzan' Jane & amp; ' Tarzan ' Jane & amp; 'Người rừng'
This is some bold text.
Đầu ra trình duyệt của mã ở trên sẽ là:
Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan'
Hãy tự mình thử »
Chuyển đổi trích dẫn kép sang các thực thể HTML:
Tôi yêu & quot; PHP & quot ;.
Tôi yêu "PHP".
- ❮ Tham chiếu chuỗi PHP
- Sự khác biệt giữa htmlentity [] và htmlspecialchars [] là gì?
- Sự khác biệt giữa hàm htmlentity [] và htmlspecialchars []: Sự khác biệt duy nhất giữa các hàm này là hàm htmlspecialchars [] chuyển đổi các ký tự đặc biệt thành các thực thể HTML trong khi hàm htmlent [] chuyển đổi tất cả các ký tự áp dụng thành các thực thể HTML.
- Các ký tự đặc biệt PHP là gì?
- 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 ..
& [ampersand] trở thành & amp ;. To convert special HTML entities back to characters, use the htmlspecialchars_decode[] function.
"[trích dẫn kép] trở thành & quot ;.
'[Trích dẫn đơn] trở thành ' ;.
& [ampersand] trở thành & amp ;.
Một chuỗi thoát cho biết chương trình dừng quy trình vận hành bình thường và đánh giá các ký tự sau đây khác nhau. Trong PHP, một chuỗi thoát bắt đầu với một dấu gạch chéo ngược \. Trình tự thoát áp dụng cho các chuỗi được trích dẫn kép. Một chuỗi được trích xuất một chỉ sử dụng các chuỗi thoát cho một trích dẫn hoặc dấu gạch chéo ngược. | Tôi có nên sử dụng htmlspecialchars không? |
Câu hỏi đầu tiên là: Khi nào nên sử dụng hàm htmlspecialchars? Bạn sử dụng htmlspecialchars mỗi khi bạn xuất nội dung trong HTML, do đó, nó được hiểu là nội dung chứ không phải HTML. Nếu bạn cho phép nội dung được coi là HTML, bạn vừa mở cửa cho các lỗi ở mức tối thiểu và tổng số vụ hack XSS ở mức tồi tệ nhất. | Chuyển đổi các ký tự được xác định trước "" [lớn hơn] thành các thực thể HTML: Đây là một số & lt; B & gt; Bold & lt;/b & gt; chữ.
Các ký tự được xác định trước là:
Các cờ bổ sung để chỉ định doctype đã sử dụng:
|
tập hợp nhân vật | Không bắt buộc. Một chuỗi chỉ định sử dụng bộ ký tự nào. Giá trị được phép là:
LƯU Ý: Các bộ ký tự không được công nhận sẽ bị bỏ qua và thay thế bằng ISO-8859-1 trong các phiên bản trước PHP 5.4. Kể từ Php 5.4, nó sẽ bị bỏ qua thay thế bởi UTF-8. 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 | Không bắt buộc. Một giá trị boolean chỉ định có nên mã hóa các thực thể HTML hiện có hay không.
|
Chi tiết kỹ thuật
Trả về chuỗi được 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ác cờ ent_ignore hoặc ent_subst acad được đặt |
4+ |
Php 5.6-Đã thay đổi giá trị mặc định cho tham số bộ ký tự thành giá trị của 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_subst acad, ent_disallowed, ent_html401, ent_html5, ent_xml1 và ent_xhtmlphp 5.3 - Đã thêm ent_ignore hằng.php 5.2.3 - Đã thêm tham số double_encode. PHP 5.4 - Changed the default value for the character-set parameter to UTF-8. PHP 5.4 - Added ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 and ENT_XHTML PHP 5.3 - Added ENT_IGNORE constant. PHP 5.2.3 - Added the double_encode parameter. PHP 4.1 - Added the character-set parameter. |
Nhiều ví dụ hơn
Thí dụ
Chuyển đổi một số ký tự được xác định trước thành các thực thể HTML:
Đầu ra HTML của mã ở trên sẽ là [xem nguồn]:
Jane & amp; 'Tarzan' Jane & amp; ' Tarzan ' Jane & amp; 'Người rừng'
I love "PHP".
Đầu ra trình duyệt của mã ở trên sẽ là:
Jane & 'Tarzan' Jane & 'Tarzan' Jane & 'Tarzan'
Hãy tự mình thử »
Chuyển đổi trích dẫn kép sang các thực thể HTML: