在Laravel 5刀片模板中,我有一个<script>
部分。
在本节中,我需要将变量设置为来自另一个刀片模板的字符串。
我尝试了类似的东西:
<script>
var a = "@include 'sometext.blade.php' ";
</script>
但这显然行不通。
另外,附带的刀片可以同时包含单引号和双引号,因此需要以某种方式对其进行转义,否则Javascript将无效。
有任何想法吗?
最终在使用DataTables时需要类似的功能,并且需要在事后通过jQuery注入HTML的其他操作。
首先,我创建了一个辅助函数(从将PHP字符串传递给JavaScript变量(并转义换行符)):
function includeAsJsString($template)
{
$string = view($template);
return str_replace("\n", '\n', str_replace('"', '\"', addcslashes(str_replace("\r", '', (string)$string), "\0..\37'\\")));
}
然后,您可以在模板中执行以下操作:
$('div.datatable-toolbar').html("{!! includeAsJsString('sometext') !!}");
包括sometext.blade.php
带有转义引号和换行符删除的刀片模板。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句