1

次のようなテキストがあります。

<p><strong>Lorem</strong> ipsur&nbsp;</p>

Zend Framework 2 で HTML タグのないテキストを表示するにはどうすればよいですか?

私は入れようとしました:

<?php echo $this->escapehtml($array['text']); ?>

セキュリティのために行うのは良くないことを読みました:

<?php echo $array['descrizione']; ?>
4

2 に答える 2

0

あなたの配列の内容がわからないので、質問を理解しているかどうかわかりません。

基本的に、変数の内容をエスケープしたい場合は、たとえば、$inputあなたが言及したように、呼び出す必要があります

$this>escapeHtml($input)

実際、PhpRenderer には、この目的で使用できるヘルパーの選択肢が含まれています: EscapeHtml、EscapeHtmlAttr、EscapeJs、EscapeCss、および EscapeUrl。

これについてはこちらで読むことができます

また、より詳細な制御が必要な場合は、Zend\Escaper を使用できます。これにより、次のように 2 行のコードでhtml をエスケープできます。

$escaper = new Zend\Escaper\Escaper('utf-8');
$output = $escaper->escapeHtml($input);

または、このように属性をエスケープします

$escaper = new Zend\Escaper\Escaper('utf-8');
$output = $escaper->escapeHtmlAttr($input); 

3 つのリンクを読むことをお勧めします。これらは非常に短く、何をしているのかをよりよく理解できるでしょう。

于 2013-12-12T10:07:11.343 に答える