htmlspecialchars
(PHP 4, PHP 5)
htmlspecialchars — Μετατρέψτε τους ειδικούς χαρακτήρες σε HTML αντικείμενα
Περιγραφή
Κάποιοι χαρακτήρες έχουν μία ιδιαίτερη σημασία στην HTML, και θα έπρεπε να αναπαρίστανται από αντικείμενα της HTML προκειμένου να διατηρήσουν τη σημασία αυτή. Η συνάρτηση αυτή επιστρέφει ένα string, το οποίο έχει κάποιες από τις μετατροπές υλοποιημένες. Αυτές οι μεταφράσεις είναι οι πιο χρήσιμες που γίνοννται κάθε μέρα στο web programming. Εάν επιθυμείτε να μεταφραστούν όλα τα αντικείμενα HTML τότε χρησιμοποιείστε τη συνάρτηση htmlentities().
Η συνάρτηση αυτή χρησιμεύει στη μη ύπαρξη HTML markup σε φόρμες κειμένου, όπως συμβαίνει στις εφαρμογές του πινάκα μηνυμάτων και του βιβλίου επισκεπτών. Το προαιρετικό δεύτερο όρισμα, quote_style , ορίζει το τι θα κάνει η συνάρτηση με τους χαρακτήρες των απλών και διπλών εισαγωγικών. Η προκαθορισμένη λειτουργία, ENT_COMPAT, είναι μία προς τα πίσω συμβατή λειτουργία, η οποία μεταφράζει μόνο το χαρακτήρα διπλών εισαγωγικών, αφήνοντας τα απλά εισαγωγικά αμετάφραστα. Εάν επιλεγεί η ENT_QUOTES, και τα δύο είδη εισαγωγικών θα μεταφραστούν, ενώ στην περίπτωση της ENT_NOQUOTES δεν πρόκειται να μεταφραστεί κανένα είδος εισαγωγικού.
Οι μεταφράσεις που υλοποιούνται είναι οι ακόλουθες:
- '&' ("και" καλλιγραφικό) γίνεται '&'
- '"' (διπλά εισαγωγικά) γίνεται '"' όταν δεν έχει τεθεί η ENT_NOQUOTES.
- ''' (απλά εισαγωγικά) γίνεται ''' μόνο όταν έχει τεθεί η ENT_QUOTES.
- '<' (μικρότερο από) γίνεται '<'
- '>' (μεγαλύτερο από) γίνεται '>'
Example#1 Παράδειγμα της htmlspecialchars()
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
Παρατηρείστε ότι αυτή η συνάρτηση δε μεταφράζει κάτι άλλο εκτός αυτών που προαναφέρθηκαν. Για πλήρη μετάφραση οντοτήτων ανατρέξτε στη συνάρτηση htmlentities(). Η υποστήρηξη της προαιρετικής δεύτερης παραμέτρου προστέθηκε στην PHP 3.0.17 και την PHP 4.0.3.
Το τρίτο όρισμα charset ορίζει το σύνολο χαρακτήρων που θα χρησιμοποιηθούν κατά τη μετατροπή. Το προκαθορισμένο σύνολο είναι το ISO-8859-1. Η υποστήριξη της τρίτης παραμέτρου προστέθηκε στην PHP 4.1.0.
Η έκδοση PHP 4.3.0 και οι νεώτερες αυτής υποστηρίζουν τα ακόλουθα σύνολα χαρακτήρων:
Σύνολο χαρακτήρων | Δεύτερη ονομασία | Περιγραφή |
---|---|---|
ISO-8859-1 | ISO8859-1 | Western European, Latin-1 |
ISO-8859-15 | ISO8859-15 | Western European, Latin-9. Περιέχει επιπλέον το σύμβολο του Ευρώ, καθώς επίσης γαλλικά και φινλανδικά γράμματα, που δεν περιλαμβάνονται στο Latin-1(ISO-8859-1). |
UTF-8 | Συμβατό με ASCII, multi-byte 8-bit Unicode. | |
cp866 | ibm866, 866 | Σύνολο χαρακτήρων του DOS για ρώσικα. Αυτό το σύνολο χαρακτήρων υποστηρίζεται από την έκδοση 4.3.2 και μετά. |
cp1251 | Windows-1251, win-1251, 1251 | Σύνολο χαρακτήρων των Windows για ρώσικα. Αυτό το σύνολο χαρακτήρων υποστηρίζεται από την έκδοση 4.3.2 και μετά. |
cp1252 | Windows-1252, 1252 | Σύνολο χαρακτήρων των Windows για Western European. |
KOI8-R | koi8-ru, koi8r | Ρώσικα. Αυτό το σύνολο χαρακτήρων υποστηρίζεται από την έκδοση 4.3.2 και μετά. |
BIG5 | 950 | Παραδοσιακά κινέζικα, κυρίως αυτά που χρησιμοποιούνται στην Ταϊβάν. |
GB2312 | 936 | Απλοποιημένα κινέζικα, το εθνικά χρησιμοποιούμενο σύνολο χαρακτήρων. |
BIG5-HKSCS | Big5 με επεκτάσεις για το Hong Kong, παραδοσικά κινέζικα. | |
Shift_JIS | SJIS, 932 | Japanese |
EUC-JP | EUCJP | Γιαπωνέζικα |
Note: Στη θέση οποιουδήποτε συνόλου χαρακτήρων που δεν αναγνωρίζεται θα χρησιμοποιηθεί το ISO-8859-1.
Ανατρέξτε επίσης στις: get_html_translation_table(), htmlentities(), και nl2br().