在我的帖子中,视频代码如下:
[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"]
我需要从这个url http://www.example.com/video-play.mp4?contentId=7c6255ca14e901d2
获取ID 7c6255ca14e901d2
,并保存在一个要在页面上使用的变量。
在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
)
)
假设你得到整个[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;
}