2011-12-17 128 views
1

我正在運行一個代碼,它需要一個YouTube網址作爲輸入,我正在使用str_replace。PHP字符串替換不工作

$title = str_replace('watch?v=', 'embed/', $title); 

但是更換隻是不會發生。我不斷收到相同的字符串。

YouTube的使用,截至目前網址IM是http://www.youtube.com/watch?v=iwQx9gw2NfM

我在做什麼錯誤? serch字符串在URL中顯示爲CLEAR,但不會被替換。

或者是否有更好的方法來做到這一點?

編輯:代碼工作正常...我試圖取代了錯誤的變量

+1

爲什麼你在一個名爲'$ title'的變量中保存url? - 否則,請顯示其內容的'bin2hex()'輸出。 – mario

+1

我按照出現的順序複製了您的代碼,並且您提供的示例網址返回了http:// www.youtube.com/embed/iwQx9gw2NfM' – cspray

+0

您確定您沒有將原始值重新分配給$ title更換已經發生?沒有理由你粘貼的代碼不應該工作。請添加更多的周邊代碼。 – SeanNieuwoudt

回答

5

此代碼工作正常:

$title = "http://www.youtube.com/watch?v=iwQx9gw2NfM"; 

$title = str_replace('watch?v=', 'embed/', $title); 

echo $title; //=> http://www.youtube.com/embed/iwQx9gw2NfM 

See it work here on tehplayground

你必須有另一個錯誤在你的代碼。請粘貼您的上下文代碼以獲取更多幫助。