2014-01-09 5 views
0

Я хочу регулярное выражение, чтобы узнать приведенные ниже строки из набора кодов. Часть, которую я хочу найти: ---Regex, чтобы узнать определенную часть html-страницы

-> Ссылка на копию кадра \ ", \" url240 \ ": \" http: \/\/cs534515v4.vk.me \/u163220668 \/videos \ /1c1b06aec9.240.mp4 \», \ "url360 \": \ "HTTP: \/\/cs534515v4.vk.me \/u163220668 \/видео \ /1c1b06aec9.360.mp4 \", \ "JPG \" < -

Этого код образует часть, если HTML-страница, и я хочу, чтобы получить только часть shown.I пишут коды в PHP

Моих полных код .....

<?php 

set_time_limit(0); 
function get_content_of_url($url){ 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); 
    $content = curl_exec($ch); 
    curl_close($ch); 
    return $content; 
} 

$plyst = get_content_of_url("http://vk.com/video56612186_167113956"); 
preg_match('/link\\".*"jpg\\"/', $plyst , $matches);   


var_dump($matches); 
//preg_match('/http:\/\/[a-zA-Z0-9\\/-_.]+/', $matches[0][0], $id); 
//start_script($id[0]); 

?> 
+0

Что такое '-> Скопировать frame' часть? Является ли это частью строки, которую вы хотите сопоставить? – MElliott

+0

Это часть длинной строки, которую я должен сопоставить ......................... video_get_current_url \ ": \" Скопировать фрейм ссылку \ ", \ "url240 \": \ "HTTP: \\\/\\\/cs534515v4.vk.me \\\/u163220668 \\\/видео \\\/1c1b06aec9.240.mp4 \", \ "url360 \" : \ "HTTP: \\\/\\\/cs534515v4.vk.me \\\/u163220668 \\\/видео \\\/1c1b06aec9.360.mp4 \", \ "JPG \": \ "HTTP: \\\/\\\/cs534515.vk.me \\\/u163220668 \\\/видео \\\/l_8a5b0712.jpg \ "\ "ip_subm \": 1, \" нол ...... .. только то, что я хотел сделать, это только получить содержимое из ссылки рамки кадра до jpg – user2327579

+0

, что я хотел, чтобы получить ссылку на ссылки видео напрямую, и я обнаружил, что это между кодами, которые я вставил т.е. между кадром ссылки и jpg – user2327579

ответ

0

Как об этом.

$str = "video_get_current_url\":\"Copy frame link\",\"url240\":\"http:\\\/\\\/cs534515v4.vk.me\\\/u163220668\\\/videos\\\/1c1b06aec9.24‌​0.mp4\",\"url360\":\"http:\\\/\\\/cs534515v4.vk.me\\\/u163220668\\\/videos\\\/1c1b06aec9.36‌​0.mp4\",\"jpg\":\"http:\\\/\\\/cs534515.vk.me\\\/u163220668\\\/video\\\/l_8a5b0712.jpg\",\"‌​ip_subm\":1,\"nologo"; 

preg_match('/\\"Copy\sframe.*"jpg\\"/is', $str, $matches); 

var_dump($matches); 

Выход:

array(1) { 
    [0]=> 
    string(199) ""Copy frame link","url240":"http:\\/\\/cs534515v4.vk.me\\/u163220668\\/videos\\/1c1b06aec9.24‌​0.mp4","url360":"http:\\/\\/cs534515v4.vk.me\\/u163220668\\/videos\\/1c1b06aec9.36‌​0.mp4","jpg"" 
} 

Edit:

И затем, если вы хотите, чтобы извлечь из этого видео URL,:

preg_match_all('/(https?:.*?\.mp4)/', $matches[0], $id); 

//Then echo out the url's 
foreach ($id[0] as $url) { 
    // the preg_replace strips out the double backslashes. 
    echo preg_replace('/\\\\/', '', $url)."<br />"; 
} 

Выход:

http://cs534515v4.vk.me/u163220668/videos/1c1b06aec9.24‌​0.mp4 

http://cs534515v4.vk.me/u163220668/videos/1c1b06aec9.36‌​0.mp4 

Рабочий пример: http://sandbox.onlinephpfunctions.com/code/329106d990fe8927a7670b9448770643afbd0865

Смежные вопросы