在我的帖子中,视频的代码如下:
[videojs mp4="http://www.example.com/video-play.mp4?contentId=7c6255ca14e901d2" poster="https://2.bp.example.com/-lSTjYuDBiAQ/VvST8Z7z2OI/AAAAAAAAGPY/c8yAE675bLEMYI-OMwtauCiXeu1yZPZaw/s1600/fundososvideos.jpg" preload="none" controls="controls" width="100%" height="400"]
我需要从此网址7c6255ca14e901d2
获取ID http://www.example.com/video-play.mp4?contentId=7c6255ca14e901d2
并保存在要在网页上使用的变量中。
有人可以解释我该怎么办?
答案 0 :(得分:0)
在PHP中,尝试使用正则表达式。 如果您的样本并不总是遵循这种格式,则可能需要调整正则表达式。
$re = '/\[videojs mp4=\"(.*contentId=(.*?))\"/';
$str = '[videojs mp4="http://www.blogger.com/video-play.mp4?contentId=7c6255ca14e901d2" poster="https://2.bp.blogspot.com/-lSTjYuDBiAQ/VvST8Z7z2OI/AAAAAAAAGPY/c8yAE675bLEMYI-OMwtauCiXeu1yZPZaw/s1600/fundososvideos.jpg" preload="none" controls="controls" width="100%" height="400"]';
preg_match_all($re, $str, $matches);
// Print the entire match result
print_r($matches);
以上结果应该是
Array
(
[0] => Array
(
[0] => [videojs mp4="http://www.blogger.com/video-play.mp4?contentId=7c6255ca14e901d2"
)
[1] => Array
(
[0] => http://www.blogger.com/video-play.mp4?contentId=7c6255ca14e901d2
)
[2] => Array
(
[0] => 7c6255ca14e901d2
)
)
答案 1 :(得分:0)
它假设您将整个 [videojs mp4 =“uri”---...] 作为字符串。现在,您想要处理它并将其分配给几个不同的变量以供将来使用。
$video_string = '[videojs mp4="http://www.blogger.com/video-play.mp4?contentId=7c6255ca14e901d2" poster="https://2.bp.blogspot.com/-lSTjYuDBiAQ/VvST8Z7z2OI/AAAAAAAAGPY/c8yAE675bLEMYI-OMwtauCiXeu1yZPZaw/s1600/fundososvideos.jpg" preload="none" controls="controls" width="100%" height="400"]';
if (preg_match('/mp4="(.*)"\sposter/', $video_string, $matches1)) {
$url = $matches1[1];
$id = explode('=',parse_url($url)['query'])[1];
echo 'From Video string I get Id= '.$id . ' & url = '.$url;
}