2010-07-29 67 views
1

如何解析字符串中的閃存變量?如何從字符串解析flashvars

<script type="text/javascript"> 
flashvars.added = "2010-07-18"; 
flashvars.name = "testing+purposes"; 
flashvars.user = "jhon+doe"; 
</script> 

我正在使用curl來獲取字符串。

+0

以及你需要什麼,那一個特定的只是價值?你期望什麼其他變量/值? – 2010-07-29 14:31:22

+0

好吧,我已經添加了更多的變量,我需要解析JavaScript標記之間的所有值來創建一個數組。 – greenbandit 2010-07-29 14:36:15

回答

2

可能不是完美的,但至少應該讓你開始:

$matches = array(); 
preg_match_all('~flashvars\.([a-z]+) .*=.*"(.*)";~i', $script, $matches); 

if (!empty($matches[1])) { 
    $flashVars = array(); 
    foreach ($matches[1] as $index => $key) { 
     $flashVars[$key] = $matches[2][$index]; 
    } 
} 

var_dump($flashVars); 

或許可以更高效,但同樣應該幫助您開始。

+0

它的工作原理!謝了哥們。 – greenbandit 2010-07-29 15:40:23

0

鑑於該問題爲$ XML字符串:

$dom = new DOMDocument(); 
$dom->loadXML($xml); 
$arr = parse_ini_string($dom->textContent); 
print_r($arr); 

輸出:

Array (
    [flashvars.added] => 2010-07-18 
    [flashvars.name] => testing+purposes 
    [flashvars.user] => jhon+doe 
)