2011-10-28 71 views
0

我有一個從另一個頁面解析的javascript代碼的php變量。有沒有一種簡單的方法來訪問個別與PHP的JavaScript變量?在PHP變量中訪問Javascript

PHP:

$cool = "<script type='text/javascript'> 
var Title = 'This is the title'; 
var Text = 'Some text here'; 

Title.info.showinfo({ 

    'thumb':'image.jpg', 
    'date':'Oct 2', 
    'year':'2011' 

}); 
</script>"; 

什麼我試着去完成:

$title = "This is the title"; 
$text = "Some text here"; 
$thumb = "image.jpg"; 
$date = "Oct 2"; 
$year = "2011"; 
+2

如果其他頁面與您合作,從它獲取數據作爲JSON,一切都會好起來的。否則我不會羨慕你。 – Jon

+0

試試這個:http://timwhitlock.info/blog/2009/11/14/jparser-and-jtokenizer-released/一個基於PHP的JS解析器/標記器。應該讓你相當容易地提取這些。 –

+0

如果您的輸入遵循固定模式,請使用RegExp:http://php.net/manual/en/function.preg-match.php –

回答

1

嘗試這樣的事情,

<?php 
$data = array(
    'key1' => 'value1', 
    'key2' => 'value2' 
); 
$str = "some string"; 
?> 

然後輸出它使用JSON數據格式,

<script type='text/javascript'> 
var data = <?php echo json_encode($data);?>; 
var str = <?php echo json_encode($str);?>; 

alert(data.key1); // value1 
alert(str); // some string 
</script> 
+0

可能我錯過了您的問題中的某些內容:D – Lee

+0

不,你的回答是正確的。 –

0

這還不是JavaScript。這只是一個字符串。 並沒有簡單的方法從PHP獲取這些值。 有些方法是。

  1. 潛入字符串(代碼)並通過爆炸()或與正則表達式模式匹配獲取值。

  2. 先將代碼發送給客戶端,讓javascript運行並通過AJAX發回。

  3. 如果您已經控制了javascript代碼,首先讓PHP可以訪問這些變量。