當我將保存的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