[英]Regular expression extract a JavaScript variable in PHP
我有一個大的HTML文件,包含很多內容。 我想從整個文件中獲取一個名為'a'
的JavaScript變量。
示例:(刪除了大量實際內容)
<html>
<head>
<script>
var a = [{'a': 1, 'b': 2}];
</script>
</head>
<body>
....
</body>
</html>
應該從上面得到的是:
[{'a': 1, 'b': 2}]
preg_match('#var a = (.*?);\s*$#m', $html, $matches);
echo $matches[1];
說明:
var a =
任何行 ;
,任意數量的空格\\s*
,然后是行的結尾$
m
修飾符將嘗試獨立匹配每一行,沒有它, $
只會匹配字符串的結尾,這將是有點無用的 任何數量的空格只有在定義后有一些空格的情況下,沒有其他原因(例如人為錯誤)。 如果您確定不會發生這種情況,可以刪除\\s*
。
請注意,這不會取代完整的解析器。 您將需要進行修改,如果a
是在多個行定義,如果a
被定義不止一次(想想范圍,你可以有var a
在全球范圍內,則var a
函數內)等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.