在我的模板中有这样一个地方:
{{ $result->someText }}
现在,在这段文字中,我想突出显示字符串中的所有单词
{{ $searchString }}
所以我想我创建了一个新的刀片指令:
{{ @highlightSearch($result->someText, $searchString) }}
Blade::directive('highlightSearch', function($input, $searchString)...
错误:缺少参数2
发现指令不排除2个参数。我尝试了我能找到的所有解决方法,但都不起作用。它们总是以普通字符串的形式返回参数,甚至不传递实际值。
我尝试添加一个helper函数,如下所示:https://stackoverflow.com/a/32430258/928666 .不起作用:
错误:未知函数“highlightSearch”
那么在laravel中我该怎么做这个超级简单的任务呢?我不关心高亮功能,那几乎是一行程序。
2条答案
按热度按时间zbdgwd5y1#
事实上,刀片式服务器指令无法完成您需要它们完成的任务。至于它们是否应该执行,我对此并没有什么意见。不过,您可以在服务提供商那里执行此操作:
在Blade中,您可以执行以下操作:
xvw2m8pv2#
我刚刚在Laravel 5.1中测试了它,它工作没有任何问题:
在
AppServiceProvider
方法中在视图中,我可以使用:
并且它返回预期的
TEST
。确保您正在使用全局命名空间中的Blade,同时运行
以确保所有内容都已刷新。如果没有帮助,您可以尝试运行
以防万一。
我还测试了它与额外的参数,它似乎真的没有工作的预期,所以最合理的将是添加帮助文件(如果你没有任何与简单的PHP函数),例如:
然后在Blade中将其用作任何其他函数,如下所示:
可选地使用
如果希望
highlight_search
输出HTML