Preg_match - 从字符串中提取id

时间:2014-03-01 13:33:41

标签: php html regex

<content type='application/x-shockwave-flash' src='https://www.youtube.com/v/f4LxBKN9ank?version=3&amp;f=videos&amp;app=youtube_gdata'/>

我怎样才能获得f4LxBKN9ank号码?所有构建preg_match的人都失败了。感谢您的提示。

修改

<yt:statistics favoriteCount='0' viewCount='106281'/>

<yt:rating numDislikes='9' numLikes='569'/>

如何检索viewCount和numDislikes / Likes

2 个答案:

答案 0 :(得分:2)

不那么酷但正则表达不是那么“快”。 str_replace要快得多。顺便说一句:“parse_url”摇滚:http://www.php.net/manual/de/function.parse-url.php

<?php 

$data = str_replace(array("path" => "/v/"),array(''),parse_url('https://www.youtube.com/v/f4LxBKN9ankversion=3&amp;f=videos&amp;app=youtbe_gdata'));

var_dump($data['path']);
// string 'f4LxBKN9ank' (length=11)

答案 1 :(得分:1)

您可以尝试:

<?php
preg_match('#www\.youtube\.com\/v\/([\w\-]+)\?#', $string, $match);

$id = $match[1];
echo $id;

对于您的其他问题,我强烈建议您不要使用正则表达式来解析HTML / XML 你应该选择phpQueryDOM