如何用php存储和检索嵌入在mysql数据库中的youtube?

jmo0nnb3  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(458)

我试图在我的网站上存储和检索嵌入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保存到我的数据库中,这样我就可以检索它,并呈现我想要的嵌入视频?
yqhsw0fo

yqhsw0fo1#

不使用函数 htmlentities 更改保存在数据库中的代码:
如php手册所述:
htmlentities-将所有适用的字符转换为html实体
此外,在数据库中保存原始html时,请注意sql注入。
或者只是使用 html_entity_decode 从数据库读取媒体后在控制器中。

1aaf6o9v

1aaf6o9v2#

控制器移除时 $html = htmlentities($html); 查看时: {!! $post->media !!}

相关问题