doudou32012 2014-11-13 00:51 采纳率: 0%
浏览 77
已采纳

PHP - 从文本文件中解析大括号之间的部分

I have the DHCP lease file from my pfSense as a text file and I need to parse some data from this using PHP.

To give an example, here is how the file looks like:

lease 192.168.15.13 {
starts 3 2014/11/12 23:51:05;
ends 4 2014/11/13 00:06:06;
cltt 3 2014/11/12 23:51:05;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 8d:3a:96:91:a0:51;
uid "\001\200\352\226\001\240\341";
client-hostname "iPhone";
}
server-duid "\000\001\000\001\000\000\000H\000\015\271)p\335";

lease 192.168.15.12 {
starts 3 2014/11/12 23:51:53;
ends 4 2014/11/13 00:06:54;
cltt 3 2014/11/12 23:51:53;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 8c:e6:5f:26:6d:fe;
uid "\001\200\346P&]\376";
client-hostname "Mike";
}
lease 192.168.15.15 {
starts 3 2014/11/12 23:40:34;
ends 3 2014/11/12 23:55:35;
tstp 3 2014/11/12 23:55:35;
cltt 3 2014/11/12 23:40:34;
binding state free;
hardware ethernet 84:58:8b:d7:44:10;
uid "\001\204x\213\207D\020";
}

Has anybody an idea how to extract the sections between the braces, starting with

lease 192.168.25.xx {

till

}

??

Thanks!

  • 写回答

1条回答 默认 最新

  • douliexu5623 2014-11-13 01:00
    关注

    Use regex: http://php.net/manual/en/function.preg-match.php

    $matches = array();
    preg_match("\{(.*)\}", $string, $matches);
    echo $matches[1];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?