【问题标题】:Reading a sertent place in a textfile php读取文本文件php中的某个位置
【发布时间】:2016-01-19 12:44:32
【问题描述】:

我必须使用dig 来获取域的 IP。我可以运行 dig 并得到如下输出(以 www.google.no 为例):

1
2 ; <<>> DiG 9.10.3 <<>> www.google.no A
3 ;; global options: +cmd
4 ;; Got answer:
5 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2264
6 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1
7 
8 ;; OPT PSEUDOSECTION:
9 ; EDNS: version: 0, flags:; udp: 1280
10 ;; QUESTION SECTION:
11 ;www.google.no.          IN  A
12
13 ;; ANSWER SECTION:
14 www.google.no.       129 IN  A   74.125.232.111
15 www.google.no.       129 IN  A   74.125.232.119
16 www.google.no.       129 IN  A   74.125.232.127
17 www.google.no.       129 IN  A   74.125.232.120
18
19 ;; Query time: 0 msec
20 ;; SERVER: 10.69.201.10#53(10.69.201.10)
21 ;; WHEN: Tue Jan 19 13:37:41 Vest-Europa (normaltid) 2016
22 ;; MSG SIZE  rcvd: 106

如何仅从上述输出的第 14-17 行获取 IP 地址?

【问题讨论】:

  • @urfusion 这不是我想要的,我必须读取文件中的一个 sertant 位置。因为 IP 可能不同,我将在 200 多个域上使用它

标签: php


【解决方案1】:

我设法解决了这个问题 - 将 +short 添加到 dig 命令的末尾:

【讨论】:

    【解决方案2】:

    您可以使用正则表达式轻松解析它。

    $text = "return of dig";
    $regex = "/[a-z\.]+\s*[0-9]+\s*IN\s*A\s*(([0-9]+.){4})/g";
    preg_match_all($text, $regex, $results);
    var_dump($results);
    

    【讨论】:

      猜你喜欢
      • 2010-11-18
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      相关资源
      最近更新 更多