2011-04-28 5 views
2

flashvars를 얻으려고 할 때이 기존 코드가 작동하지 않습니다. itemId 값을 일부 용도로 사용하려고합니다. 어떻게 파싱하고 가져갈 수 있습니까?PHP를 사용하여 embed 객체를 구문 분석하고 flashvars 값을 얻는 방법은 무엇입니까?

제가 필요 값 = "OWYrYlg5VW9GZUI4UjVnMXFOUGsrQT09"

<?php 
$result = '<embed src=\'http://www.test.com//test_1.swf\' quality="high" FlashVars="itemId=OWYrYlg5VW9GZUI4UjVnMXFOUGsrQT09&autoplay=0&duration=02:45&url=http://test.com" bgcolor="#ffffff" wmode="opaque" width="320" height="65" name="player" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>'; 

//preg_match("/\<embed.*itemId\=\"(.+)\".*\>.*\<\/embed\>/Us",$result,$match); 

parse_str($result, $output); 

print '<pre>'; 
print_r ($output); 




?> 
+0

가능한 중복 [최저 방법 HTML 파싱]을 (항목 Id http://stackoverflow.com/questions/3577641/best- methods-to-parse-html) –

답변

1
$result = 'your string'; 
$output = ''; 

preg_match('/itemId=([a-zA-Z0-9]+)/', $result, $matches); 
$output = $matches[1]; 
+0

고맙습니다 ... – logudotcom

0
preg_match("!<embed.*?itemId=([^&]+).*?>.*?</embed>!sm",$result,$match); 
+0

둘다 잘 작동합니다. 훌륭한 전문가들에게 감사드립니다. – logudotcom

관련 문제