我在字符串中有一个HTML文件代码,如下所示:
--- few lines of code ---------
<SCRIPT language="javascript" type="text/javascript">
var statList = new Array(
0, "192.168.1.179", "88-53-95-28-2B-AF", 194280, 101141053, 0, 0, 0, 0, 0, 0, 0, 0,
1, "192.168.1.170", "60-C5-47-10-37-FD", 132316, 65860791, 0, 0, 0, 0, 0, 0, 0, 0,
2, "192.168.1.151", "68-5D-43-21-76-95", 9887, 3898646, 0, 0, 0, 0, 0, 0, 0, 0,
3, "192.168.1.134", "6C-3E-6D-8C-FF-62", 26405, 7521875, 0, 0, 0, 0, 0, 0, 0, 0,
4, "192.168.1.124", "04-F7-E4-78-D3-D0", 6189, 1791672, 0, 0, 0, 0, 0, 0, 0, 0,
5, "192.168.1.121", "60-C5-47-10-40-92", 122657, 91113301, 0, 0, 0, 0, 0, 0, 0, 0);
</SCRIPT>
---- Few other lines of code ---------
我想提取包含<script>
声明的Array
块。
我可以使用任何PHP函数执行此操作吗?
答案 0 :(得分:0)
如果你能找到一个在字符串开头只出现一次的清晰分隔符和另一个在结尾只出现一次的分隔符,你可以很容易地使用preg_match。否则,您仍然可以使用preg_match,但编写一个好的RegExp会更难。如果要提取IP / MAC数据,可能需要直接从RegExp开始。
答案 1 :(得分:0)
这段代码怎么样?
$content = file_get_contents('____URL_of_your_html____');
if(preg_match('/(var statList = new Array\(.*?\);)/si',$content,$matches)){
echo $matches[1];
}