2010-07-29 92 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 
)