PHPでHtmlエンコードする最も簡単な方法は何ですか?
エンコードとは、つまり、該当するすべての文字をHTMLエンティティに変換するということですか?
htmlspecialchars
または htmlentities
すべてのHTMLタグを削除する場合は、strip_tagsを使用することもできます。
注:これはすべてを停止するわけではありません XSS攻撃
Encode.php
<h1>Encode HTML CODE</h1>
<form action='htmlencodeoutput.php' method='post'>
<textarea rows='30' cols='100'name='inputval'></textarea>
<input type='submit'>
</form>
htmlencodeoutput.php
<?php
$code=bin2hex($_POST['inputval']);
$spilt=chunk_split($code,2,"%");
$totallen=strlen($spilt);
$sublen=$totallen-1;
$fianlop=substr($spilt,'0', $sublen);
$output="<script>
document.write(unescape('%$fianlop'));
</script>";
?>
<textarea rows='20' cols='100'><?php echo $output?> </textarea>
このようにHTMLをエンコードできます。
これを試して:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
?>
私は何時間も検索し、提案されたほぼすべてを試しました。
これはほぼすべてのエンティティで機能しました。
$input = "āžšķūņrūķīš ○ àéò ∀∂∋ ©€ ♣♦ ↠ ↔↛ ↙ ℜ℞";
echo htmlentities($input, ENT_HTML5 , 'UTF-8');
結果:
āžšķūņrūķīš ○ àéò ∀∂∋ ©€ ♣♦ ↠ ↔↛ ↙ ℜ℞rx;