0

以下のような文字列に 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関数でこれを行うことはできますか?

4

2 に答える 2

0

文字列の最初に1回だけ表示される明確な区切り文字と、最後に1回だけ表示される別の区切り文字が見つかった場合は、preg_matchを簡単に使用できます。それ以外の場合でも、preg_matchを使用できますが、適切な正規表現を作成するのは非常に困難です。IP / MACデータを抽出する場合は、RegExpから直接開始することをお勧めします。

于 2013-02-01T09:57:16.293 に答える
0

このコードはどうですか?

$content = file_get_contents('____URL_of_your_html____');
if(preg_match('/(var statList = new Array\(.*?\);)/si',$content,$matches)){
    echo $matches[1];
}
于 2013-02-01T10:00:01.063 に答える