所以不久前,我们开始利用Azure Media Player在网站上播放视频,直到最近它一直运行良好。
以前有效的链接:
http://trueiqmediaservice.streaming.mediaservices.windows.net/1002f113-9ccc-49a9-8549-c4bebabb47ee/Why我们是makin.ism / manifest
这里是定义正则表达式的方法:
private function register_embed_handler()
{
wp_embed_register_handler(
'f',
'#((http[s]?):\/)?(\/)(\/)?fhtrueiqmediaservice\.streaming\.mediaservices\.windows\.net\/?(.*)_(.*).ism\/manifest#',
[$this, 'wp_embed_register_handler']
);
}
Well ..看起来Azure更新了他们处理链接的方式,因此更改为:
https://mediasvcclqg331kwhpnq.blob.core.windows.net/asset-ab84ad2b-3ae4-4024-afd3-8f12cdecc266/2020-02-03 Crispin EDIT 2_1.mp4?sv = 2017-04-17&sr = c&si = 8b3d0ab4-5d65-470e-a26e-f7e65782f36a&sig = UW1aCdpqR7g2GSUeCD5ASiEazkSMl7q4SwiDLhtfHdQ%20%3&16 = 3%4%= 4%4%16 %%%%%%%%% E %%%%%% E %%%%% E% *****
我将如何处理新链接中使用的正则表达式?我对正则表达式很糟糕,甚至不知道如何开始解决这个问题。所有帮助将不胜感激!
您以前的模式非常具体,新链接更长一些。
例如,您可以使用使第一部分具体化的模式,如果.mp4
应始终存在,请确保将其匹配。
由于示例链接中唯一可能的空格位于.mp4
的文件名中,因此可以使用\S*
匹配字符串的其余部分,以匹配0+次出现的非空白字符。
https?:\/\/[^.\s]+\.blob\.core\.windows\.net\/asset-[a-f0-9]+(?:-[a-f0-9]+)+\/.*?\.mp4\S*