「4.5.1HTML」からのメモ。
PHPにはHTML中の文字をエスケープするための関数がいくつかあります。
htmlentities()
空白文字を除く<や>をエンティティに変換します。
('はENT_QUOTESを指定した場合のみ)
<?php $hoge = htmlentities("< > & \" ' Ä" , ENT_COMPAT , "UTF-8"); echo "$hoge\n"; #デコード $decode_table = array_flip(get_html_translation_table(HTML_ENTITIES , ENT_COMPAT)); $decode_hoge = strtr($hoge , $decode_table); echo "$decode_hoge\n"; ?>
< > & " ' Ä < > & " '
htmlspecialchars()
< , > , & , " , 'のみをエンティティに変換します。
('はENT_QUOTESを指定した場合のみ)
<?php $hoge = htmlspecialchars("< > & \" ' Ä" , ENT_COMPAT , "UTF-8"); echo "$hoge\n"; #デコード $decode_table = array_flip(get_html_translation_table(HTML_SPECIALCHARS , ENT_COMPAT)); $decode_hoge = strtr($hoge , $decode_table); echo "$decode_hoge\n"; ?>
< > & " ' Ä < > & " ' Ä
strip_tags()
HTMLタグを除去します。第2引数に除去しないタグを指定することができます。
<?php $hoge = strip_tags("<p>hello <b>world</b></p>" , "<b>"); echo "$hoge\n"; ?>
hello <b>world</b>