В моих сообщениях видео есть код ниже:
[videojs mp4="http://www.example.com/video-play.mp4?contentId=7c6255ca14e901d2" poster="http://img.ruphp.com/php/fundososvideos.jpg" preload="none" controls="controls" width="100%" height="400"]
Мне нужно получить ID 7c6255ca14e901d2
с этого URL http://www.example.com/video-play.mp4?contentId=7c6255ca14e901d2
и сохранить в переменной, которая будет использоваться на странице.
Может ли кто-нибудь объяснить мне, как это сделать?
В PHP попробуйте использовать регулярное выражение. Возможно, вам придется настроить регулярное выражение, если ваш образец не всегда соответствует этому формату.
$re = '/\[videojs mp4=\"(.*contentId=(.*?))\"/'; $str = '[videojs mp4="http://www.blogger.com/video-play.mp4?contentId=7c6255ca14e901d2" poster="http://img.ruphp.com/php/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="http://img.ruphp.com/php/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; }