Html :: encode()和YII2中的基本html代码有什么区别?

时间:2015-04-24 00:08:37

标签: yii2

我是YII的初学者,我不知道<?= Html::encode($this->title)?><?= $this->title?>之间的区别。我已经测试了这两个,他们似乎给出了相同的输出。

1 个答案:

答案 0 :(得分:3)

文档和源代码可以告诉你一切。

基本上Html::encode()只是htmlspecialchars本机PHP函数的包装:

  

将特殊字符编码为HTML实体。

     

应用程序字符集将用于编码。

要了解其基本区别和好处,请尝试回应:

$string = '<script>alert(1);</script>';

echo $string;

然后:

echo Html::encode($string);

因此encode对于过滤用户保存的数据非常有用。如果数据来自开发人员,而不是来自用户,则可能不会应用encode,HTML将按原样显示。

官方文档: