2014-01-09 2 views
0

나는 정규식을 사용하여 코드 세트에서 아래 줄을 찾으려고합니다. 내가 찾고자하는 부분 : ---정규식 HTML 페이지의 특정 부분을 찾으려면

-> 복사 프레임 링크 \ ", \"url240 \ ": \"http : \/\/cs534515v4.vk.me \/u163220668 \/videos \/1c1b06aec9.240.mp4 \ ", \"url360 \ ": \"http : \/\/cs534515v4.vk.me \/u163220668 \/videos \ /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

'-> 프레임 복사'부분은 무엇입니까? 일치시킬 문자열의 일부입니까? – MElliott

+0

이것은 일치해야하는 긴 문자열의 일부입니다 ......................... video_get_current_url \ ": \"프레임 링크 복사 \ ", \ "url240 \": \ "http : \\\/\\\/cs534515v4.vk.me \\\/u163220668 \\\/videos \\\/1c1b06aec9.240.mp4 \", \ "url360 \" http : \\\/\\\/cs534515v4.vk.me \\\/u163220668 \\\/videos \\\/1c1b06aec9.360.mp4 \ ", \"jpg \ ": \"http : \\\/\\\/cs534515.vk.me \\\/u163220668 \\\/video \\\/l_8a5b0712.jpg \ ", \"ip_subm \ ": 1, \"nol ...... ..nomarlly 내가 원했던 것은 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"" 
} 

편집 :

그리고, 당신은 동영상 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 />"; 
} 

출력 :

,536,913,632 10
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

관련 문제