2011-12-17 179 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

你必须有另一个错误在你的代码。请粘贴您的上下文代码以获取更多帮助。