2015-08-26 92 views
0

我有一個字符串和一些圖像和一些視頻的內容,我只需要獲取此內容中的視頻。我怎樣才能做到這一點?從內容獲取YouTube鏈接

我嘗試了以下方式,但有時我不明白的視頻,有時讓我一個視頻鏈接:

<?php 

    $string = $post->post_content; 

    $pattern = '/(http\S*(?=(?:&|\?)rel))/im'; 

    $array = array(); 

    preg_match($pattern, $string, $array); 

    $link = $array[0]; 

    print '<video>'.$link.'</video>'; 

?> 

我的內容的例子是這樣的:

Quinquaginta septem est – pars tua, triginta quinque millia. Est autem extra plus quindecim, tota tua est, quom meruisset. Fac nos fecit. SIC. Puto quia una res potest – venimus in cognitionem. Vide pretium in… 

    https://www.youtube.com/watch?t=110&v=1MBWZWyvMng 

    Respice … Sentio sicut ego vobis exponam: sed vias breve iterum conabor. Fugere hoc maior difficultas est nobis. Perdet eam batch nostri. Et delebis eam ac omnia opus est vestigium, ut possimus coques. Sin id, quod morte morieris. Locus non est peccatum. Nec apud hos. 

[youtube https://www.youtube.com/watch?t=110&v=1MBWZWyvMng] 
+2

您能夠顯示輸入的字符串($字符串)的各種格式? –

+0

你的意思是?你是說我可以得到內容嗎?是的,我得到的所有內容,但我只需要視頻類型 –

+0

他的意思是,你應該給我們的實例爲您的內容 – Bernhard

回答

1

一簡單

preg_match_all('/https?\:\/\/(?:www\.)?(?:youtube\.com\/[^\s]*v\=|youtu\.be\/)([a-z0-9]+)/is', $input, $matches); 

將輸出您的字符串中的所有youtube鏈接。 $ input是數據源 $ matches將返回數組中的匹配項。

+0

其返回我的所有內容鏈接,我只需要YouTube的 –

+0

以及嘗試更新的代碼然後 – Bernhard

+0

不錯,但我得到在鏈路的末端'https://www.youtube.com/watch?t=110 & v = 1MBWZWyvMng]'其必須像'https://www.youtube.com/watch?t=110 & v = 1MBWZWyvMng '爲什麼在鏈接 –

0
youtube[^\] ]+ 

測試在它這個簡單的模式

+1

不工作,並得到錯誤 –