关于php:laravel print json没有转换为htmlentities

laravel print json without converting to htmlentities

嗨,我是模板和Laravel的新手。

我已使用将Laravel分隔符更改为[[]]和[[]]。

1
2
Blade::setContentTags("[[","]]");
Blade::setEscapedContentTags("[[[","]]]");

现在我想把JSON传递给一个javascript变量,比如

1
var somevariable = [[json_encode($variableFromController)]];

但这会将JSON字符串转换为HTML实体,如

1
{"index":200}

我搜索后发现,{{!!json_encode($variableFromController)!!}}应该可以工作,但是在我的系统中,像[[!!json_encode($variableFromController)!!]]这样做不会产生任何影响。

我知道我可以做一些像这样的事情,但这是我最不想尝试的事情。我能做些什么具体的事情吗?


起初,Blade::setContentTags("[[","]]");意味着用[[代替{!!。而Blade::setEscapedContentTags("[[[","]]]");正以[[[取代{{

所以对于你的情况,[[ json_encode($variableFromController) ]]{!! json_encode($variableFromController) !!}是等价的。