在Laravel Blade中,{{...}}
将转义所有HTML标记。
是否可以排除某些代码被转义,例如<p>
或<br/>
?虽然我可以{!!...!!}}
,但它将允许显示任何标签。
答案 0 :(得分:0)
vendor\laravel\framework\src\Illuminate\View\Compilers\BladeCompiler.php
protected function compileRawEchos($value)
{
$pattern = sprintf('/(@)?%s\s*(.+?)\s*%s(\r?\n)?/s', $this->rawTags[0], $this->rawTags[1]);
$callback = function ($matches) {
$whitespace = empty($matches[3]) ? '' : $matches[3].$matches[3];
return $matches[1] ? substr($matches[0], 1) : '<?php echo '.$this->compileEchoDefaults($matches[2]).'; ?>'.$whitespace;
};
return preg_replace_callback($pattern, $callback, $value);
}