2

我想要做的是在 youtube/vimeo 上转换视频的 url,返回一个新的 url,可以嵌入到 iframe 中并自动化视频嵌入代码。

这就像一个魅力。

$url  = "http://vimeo.com/29431603";
$orj_value = array("watch?v=", "http://vimeo.com/");
$new_value   = array("embed/", "http://player.vimeo.com/video/");
$url = str_replace($orj_value, $new_value, $url);
echo $url;

你知道,youtube 广告在以 & 开头的 url 中也有一个丑陋的字符串,所以当我包含

$url = substr($url, 0, strpos($url, "&")); 

echo $url;

它去除了 youtube url 中不需要的部分。但是,里面没有 & 的 vimeo 代码不会返回任何东西。似乎在添加新行之后,代码想要在 url 中看到 & ;否则 echo $url var 显示空白屏幕。

2-对于dailymotion,我需要先删除所有内容_我应该如何编辑下面的行以包括对dailymotion的支持?

$url = substr($url, 0, strpos($url, "&")); 

提前感谢任何愿意回答的人:)

4

1 回答 1

1

如果 strpos() 找不到您搜索的字符,它将返回 false,这可能会混淆 substr()。

尝试这样的事情:

$url = strpos($url, "&") ? substr($url, 0, strpos($url, "&")) : $url;

至于你的评论:

if(strpos($url, "&")) {
    $url = substr($url, 0, strpos($url, "&"));
} else if(strpos($url, "_")) {
    $url = substr($url, 0, strpos($url, "_"));
}

有更优雅的方法可以做到这一点(例如 REGEX),但这会做。请注意,& 或 _ 不能是字符串中的第一个字符,如果您想允许此添加 !== false 到条件。

于 2011-10-28T15:31:29.450 回答