2017-04-22 113 views
-4

我需要在php文件中獲取javascript變量值。在php中獲取javascript變量值

HTML例如: UPDATE:

$html = ' 
<script> 
window.runParams.adminSeq="3423423423423"; 
window.runParams.companyId="2349093284234"; 
</script>'; 

喊我用正則表達式?正則表達式對我來說非常複雜...任何幫助?

+2

爲什麼不把它傳遞給GET變量? – Rahul

+0

AJAX請求或帶查詢字符串參數的簡單重定向聽起來很熟悉? –

+1

我同意@Rahul –

回答

3
<?php 
    $html = '<script> 
    window.runParams.adminSeq="3423423423423"; 
    window.runParams.companyId="2349093284234"; 
    </script>'; 

    $variables = ["adminSeq", "companyId"]; 

    $counter = 0; 
    foreach($variables as $variable) { 
     preg_match_all('/"(.*?)"/', $html, $matches); 
     ${"$variable"} = ($matches[1])[$counter]; 
     $counter++; 
    } 

    echo $adminSeq; // Prints out: 3423423423423 
    echo $companyId; // Prints out: 2349093284234 
?> 

您還可以使用GET請求來執行此操作。該鏈接看起來像http://localhost/?adminSeq=3423423423423&companyId=2349093284234然後用PHP獲得這些值:

<?php 
$adminSeq = $_GET["adminSeq"]; 
$companyId = $_GET["companyId"]; 
?> 
+0

謝謝Marius的回覆,但我需要知道adminSeq有這樣的代碼:3423423423423.是否有可能搜索一個詞並獲取「」中的值。我試圖使用正則表達式:[[:word:]] + \ d但它獲得所有數字... – andys

+0

或者這樣做:獲取包含單詞「adminSeq」的代碼行並獲取「」之間的值。但我不知道如何寫在正則表達式... – andys

+0

代碼更新,現在包括變量名稱,添加foreach循環,所以你聲明你的變量,然後foreach變量它獲得的價值。我希望這有助於:) –