44

在 PHP 中进行 Html 编码的最简单方法是什么?

4

4 回答 4

54

通过编码,您的意思是:将所有适用的字符转换为 HTML 实体?

htmlspecialchars或者 htmlentities

如果要删除所有 HTML 标签,也可以使用 strip_tags :

strip_tags

注意:这不会阻止所有XSS 攻击

于 2009-12-09T13:16:09.680 回答
5

编码.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 进行编码。

于 2015-04-25T04:28:01.517 回答
2

试试这个:

<?php
    $str = "This is some <b>bold</b> text.";
    echo htmlspecialchars($str);
?>
于 2017-07-18T12:01:27.857 回答
1

我搜索了几个小时,几乎尝试了所有建议。
这几乎适用于每个实体:

$input = "āžšķūņrūķīš ○ àéò ∀∂∋ ©€ ♣♦ ↠ ↔↛ ↙ ℜ℞";


echo htmlentities($input, ENT_HTML5  , 'UTF-8');

结果 :

&amacr;&zcaron;&scaron;&kcedil;&umacr;&ncedil;r&umacr;&kcedil;&imacr;&scaron; &cir; &agrave;&eacute;&ograve; &forall;&part;&ReverseElement; &copy;&euro; &clubs;&diamondsuit; &twoheadrightarrow; &harr;&nrarr; &swarr; &Rfr;&rx;rx;
于 2019-01-18T16:21:13.653 回答