PHP htmlentities() -funktio
Esimerkki
Muunna merkit HTML-olennoksiin:
<?php $str = "<? W3S?h????>"; echo htmlentities($str); ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> <© W3Sçh°°¦§> </body> </html>
以下代码的浏览器输出:
<? W3S?h????>
Määrittely ja käyttö
htmlentities() -funktio muuntaa merkit HTML-entiteeteiksi.
Vinkki:Jos haluat muuntaa HTML-entiteetit takaisin merkeiksi, käytä html_entity_decode() Funktio.
Vinkki:Käytä get_html_translation_table() Funktio palauttaa translation table, jota käytetään functionin htmlentities().
Syntaksi
htmlentities(string,flags,character-set,double_encode)
Parametrit | Kuvaus |
---|---|
string | Välttämätön. Määrittää muunnettavan merkkijonon. |
flags |
Valinnainen. Määrittää, miten lainausmerkit, epävirallinen koodaus ja dokumenttipyyntityyppi käsitellään. Käytettävissä olevat lainausmerkkityypit:
Epävirallinen koodaus:
Lisä flags, jotka määrittävät käytettävän dokumenttipyyntityypin:
|
character-set |
Valinnainen. Merkkijono, joka määrittää käytettävän merkkikansion. 允许的值:
MacRoman - Mac-käyttöjärjestelmän käyttämä merkistöKommentti: |
double_encode |
Valinnainen. Boolean-arvo, joka määrittää, koodataanko olemassa olevat HTML-olennukset.
|
Tekninen yksityiskohta
Palautusarvo: |
Palauttaa muunnetun merkkijonon. Jos string Jos sisältää virheellisen koodauksen, palautetaan tyhjä merkkijono, ellei asetettu ENT_IGNORE tai ENT_SUBSTITUTE -merkkiä. |
PHP-versio: | 4+ |
Päivityshistoria: |
PHP 5:ssächaracter-set Parametrien oletusarvo muutettiin UTF-8:ksi. PHP 5.4:ssä lisättiin: ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 ja ENT_XHTML. PHP 5.3:ssä lisättiin ENT_IGNORE. PHP 5.2.3:ssä lisättiin double_encode Parametrit. PHP 4.1:ssä lisättiin character-set Parametrit. |
Lisää esimerkkejä
Esimerkki 1
Muunna merkit HTML-olennoksiin:
<?php $str = "Bill & 'Steve'"; echo htmlentites($str, ENT_COMPAT); // Muunna vain kaksoislainausmerkit echo "<br>"; echo htmlentites($str, ENT_QUOTES); // Muunna kaksois- ja yksinkertaiset lainausmerkit echo "<br>"; echo htmlentities($str, ENT_NOQUOTES); // 不转换任何引号 ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> Bill & 'Steve'<br> Bill & 'Tarzan'<br> Bill & 'Steve' </body> </html>
以下代码的浏览器输出:
Bill & 'Steve' Bill & 'Steve' Bill & 'Steve'
例子 2
通过使用西欧字符集,把一些字符转换为 HTML 实体:
<?php $str = "My name is ?yvind ?sane. I'm Norwegian."; echo htmlentities($str, ENT_QUOTES, "ISO-8859-1"); // 仅转换双引号(不转换单引号),并使用西欧字符集 ?>
以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html> <html> <body> Oma nimi on Øyvind Åsane. Olen norjalainen. </body> </html>
以下代码的浏览器输出:
Oma nimi on ?yvind ?sane. Olen norjalainen.