我正在学习Laravel来自javascript背景,所以我对PHP并不是很熟悉。我正在尝试创建一个具有textarea输入的应用程序,并显示使用markdown格式化的输入。我正在使用Parsedown将markdown解析为HTML,然后在我的刀片模板中使用:
{!! $post->body !!}
显示它。它是用HTML格式化的,但当然这也存在<script>
标签等风险,也没有转义。
是否有一种简单的方法可以确保只有<p>
,<ul>
,<em>
以及其他由markdown创建的内容未转义?
答案 0 :(得分:1)
据我所知,Laravel没有为此提供开箱即用的解决方案。如果您对清除潜在的可疑输入感兴趣,请查看 HTML Purifier for Laravel 。
答案 1 :(得分:0)
您可以将自己的自定义标签添加到刀片引擎,当我回到家时会提供链接。作为第二种解决方案,您可以创建扩展。 Blade extension (laravel docs)