当我将保存的YouTube嵌入iframe到我的数据库中时,它会添加一堆斜线。如下所示。如何在数据库中存储YouTube内嵌链接
<iframe width=\"560\" height=\"315\" src=\"http://www.youtube.com/embed/ycHXRWRKrdA?rel=0\" frameborder=\"0\" allowfullscreen></iframe>
它被存储在长文本类型中。什么时候我记得从数据库或防止斜线将消除斜线被存储在第一时间
当我将保存的YouTube嵌入iframe到我的数据库中时,它会添加一堆斜线。如下所示。如何在数据库中存储YouTube内嵌链接
<iframe width=\"560\" height=\"315\" src=\"http://www.youtube.com/embed/ycHXRWRKrdA?rel=0\" frameborder=\"0\" allowfullscreen></iframe>
它被存储在长文本类型中。什么时候我记得从数据库或防止斜线将消除斜线被存储在第一时间
不要像这样保存HTML - 只保存youtube的唯一ID,然后吐出HTML并从数据库中插入ID。
一劳永逸在你的.htaccess补充一点:
# disable the automatic-quote-removing from requests
php_value magic_quotes_gpc off
如果保存YouTube网址的JSON数据库,你没有说。 如果是,通过更换可能报价:
str_replace('\"','\\"',$url);
也,当然它的更好的办法是只保存在YouTube代码:
$eurl = explode("/",$url);
$eurl[sizeof($eurl)-1]; // <-- to database
你用什么技术?您必须启用一个安全选项,才能将这些字符串保存到数据库中之前自动转义字符串(实际上这并不错)。一种选择是使用正则表达式去除反斜线(例如'.replaceAll(“\\\\”,“”)')。 – sp00m
与这个问题无关,但你为什么要以这样一个讨厌的方式存储?你为什么不存储视频ID?! –
我认为这种情况正在发生,因为你使用PHP的旧版本比5.3,并在那里的配置标志['magic_quotes_gpc'](http://www.php.net/manual/en/info.configuration.php#ini .magic引号-GPC)设置为TRUE;,这使得PHP做自动报价转义所有GET,POST和cookie的值。 – s1lence