Php 从YouTube获取视频url并去掉所有参数

Php 从YouTube获取视频url并去掉所有参数,php,regex,Php,Regex,您好,我如何删除此字符串中的任何内容并仅使用XBH1dcHoL6Y <param name="movie" value="http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US&feature=player_embedded&version=3"> 这就是我目前发现的(但我无法删除参数) 谢谢大家! 试试这个: $url = "http://www.youtube.com/v/XBH1dcHoL6Y&a

您好,我如何删除此字符串中的任何内容并仅使用XBH1dcHoL6Y

<param name="movie" value="http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US&feature=player_embedded&version=3">
这就是我目前发现的(但我无法删除参数)

谢谢大家!

试试这个:

$url = "http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US";
$urlSplode = explode('/',$url);

$urlEnd = $urlSplode[count($urlSplode)-1];

$urlEndSplode = explode('&',$urlEnd);

$finalStr = $urlEndSplode[0];

echo "http://www.youtube.com/watch?v=$finalStr";
以下是演示:

强制性一行:

echo end(explode('/', reset(explode('&', 'http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US&feature=player_embedded&version=3'))));
编辑:版本:

$string='';

$expr=“/基本相同的答案^ ^修复。是的,这是相同的解决方案,没有看到您的答案!太好了,谢谢。字符串位于帖子内容中,并且不是所有帖子都有嵌入视频。我如何识别当前帖子是否有?我会尝试使用
if(strpos('youtube.com',$postContentString)!==false)
,其中
$postContentString
是字符串中包含的HTML或您的帖子。strpos函数:可惜他们没有使用正确的
?query=string
parse_url()
会很神奇。:)太好了,谢谢。字符串在帖子内容中,并非所有帖子都有嵌入视频。我如何识别当前帖子是否有?用例是什么?对您的评论的字面回答类似于
if(strstrstr('Hi here,您能在这里找到错误吗?
$string='';preg\u match('#]+>.+?http://www.youtube.com/v/([A-Za-z0-9\-#]+).+?#s',$string,$matches);echo$matches[1];
$url = "http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US";
$urlSplode = explode('/',$url);

$urlEnd = $urlSplode[count($urlSplode)-1];

$urlEndSplode = explode('&',$urlEnd);

$finalStr = $urlEndSplode[0];

echo "http://www.youtube.com/watch?v=$finalStr";
$urlTokens = explode("/", "http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US&feature=player_embedded&version=3");  
$urlTokens = explode("&", $urlTokens[4]);
$url = $urlTokens[0]; // will output XBH1dcHoL6Y
echo end(explode('/', reset(explode('&', 'http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US&feature=player_embedded&version=3'))));
$string = '<embed src="http://www.youtube.com/v/XBH1dcHoL6Y&rel=0&hl=en_US&feature=player_embedded&-version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></embed>';

$expr = "/<embed.*https?:\/\/www.youtube.com\/v\/([a-zA-Z0-9]+).*<\/embed>/";

if(preg_match($expr, $string, $matches))
  echo 'Matched: '.$matches[1];
else
  echo 'No match';

// returns "Matched: XBH1dcHoL6Y"