我试图在我的网站上存储和检索嵌入youtube视频的html,但遇到了麻烦。这是我的密码: Controller
```
$html = request('media');
$html = htmlentities($html);
$post = Post::create(array_merge(['media' => $html],request(['title', 'content'])));`Retrieval`
{{ html_entity_decode($post->media) }}
重要的是,我使用的是laravel,在mysql数据库中,我将这个html存储为 `text` . 那么,我该如何做到这一点呢?检索代码只是显示html代码,但不呈现。当我查看源代码时,这是因为检索到的html如下所示
<iframe width="560" height="315" src="https://www.youtube.com/embed/CgsymJy0RJk" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
如何将这个html保存到我的数据库中,这样我就可以检索它,并呈现我想要的嵌入视频?
2条答案
按热度按时间yqhsw0fo1#
不使用函数
htmlentities
更改保存在数据库中的代码:如php手册所述:
htmlentities-将所有适用的字符转换为html实体
此外,在数据库中保存原始html时,请注意sql注入。
或者只是使用
html_entity_decode
从数据库读取媒体后在控制器中。1aaf6o9v2#
控制器移除时
$html = htmlentities($html);
查看时:{!! $post->media !!}