在blade文件中可以这样做:
{{ $someVariable }}
这将净化$someVariable,而不是像这样调用它:
{!! $someVariable !!}
第一种情况下调用什么PHP函数?有什么方法可以做到这一点以外的刀片文件?
最后调用的函数是e
,表示'escape'。
"在字符串中编码HTML特殊字符。">
将{{ ... }}
替换为<?php echo e(...); ?>
在vendor/laravel/framework/src/Illuminate/Support/helpers.php
中有定义。它调用htmlspecialchars
,但也处理Htmlable
或DeferringDisplayableValue
的特殊对象。
"
e
函数运行PHP的htmlspecialchars
函数,double_encode
选项默认设置为true
"——Laravelx Docs - Helpers - String Helpers -e
附带说明一下,这不是消毒,它只是转义。
根据Laravel文档,您可以使用htmlspecialchars()
的例子:
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
https://www.php.net/manual/en/function.htmlspecialchars.php