PHP同时使用str_replace、substr和strop
我试图做的是转换youtube/vimeo上视频的url,返回一个可以嵌入iframe的新url,并自动执行视频嵌入代码 这是一种魅力PHP同时使用str_replace、substr和strop,php,str-replace,substr,strpos,Php,Str Replace,Substr,Strpos,我试图做的是转换youtube/vimeo上视频的url,返回一个可以嵌入iframe的新url,并自动执行视频嵌入代码 这是一种魅力 $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_va
$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中不需要的部分。但是,没有&inside的vimeo代码不会返回任何东西。似乎在添加新行后,代码希望在url中看到一个&;否则,回显$url变量将显示空白屏幕
2-对于dailymotion,我需要在第一次
我应该如何编辑下面的行以包含对dailymotion的支持
$url = substr($url, 0, strpos($url, "&"));
提前感谢所有要回答的人:)如果strps()找不到您搜索的字符,它将返回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)但这就行了。请注意,如果要允许此添加,则&或uuu不能是字符串中的第一个字符!==不符合条件。它工作正常。。非常感谢Hikaru:)编辑这个$url=strpos($url,“&”)是否很容易?substr($url,0,strpos($url,&”):$url;并使其在first之后删除任何内容&或者在first之后,我添加了一个小调整。你不能用这个快捷符号来表示是否有其他的东西。很好用,非常感谢Hikaru。。。我单击了复选框,但由于某些原因,它不允许我在您的邮件上将0变为1:)您需要单击向上箭头;)投票需要15个声望:)这是我每次都能得到的。我相信这是因为我是一个新用户。