我要做的是在youtube / vimeo上转换视频的网址,返回一个可以嵌入到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网址中不需要的部分。但是,vimeo代码没有&里面只是不返回任何东西。似乎在添加新行后,代码想看到&在网址内;否则回显$ url var显示空白屏幕。
2-对于dailymotion,我需要先删除所有内容_ 我应该如何编辑下面的行以包括对dailymotion的支持呢?
$url = substr($url, 0, strpos($url, "&"));
提前感谢任何人回答:)
答案 0 :(得分: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到条件。