1
我正在更新我的网站以设置rDNS,但是我要在此处询问您如何处理我的问题的意见。我将所有IP(IPv4)放在一个名为$aIP
的阵列中。现在我有一个这样的名单:从HTML中提取文本
<tr><td>1.2.3.4</td><td>hostname.bla.com</td><td><a href="edit-reverse.cgi?id=1">myserver.com</a></td></tr>
<tr><td>1.2.3.5</td><td>hostname.bla.com</td><td><a href="edit-reverse.cgi?id=2"><i>not set</i></a></td></tr>
<tr><td>1.2.3.6</td><td>hostname.bla.com</td><td><a href="edit-reverse.cgi?id=3"><i>not set</i></a></td></tr>
<tr><td>1.2.3.7</td><td>hostname.bla.com</td><td><a href="edit-reverse.cgi?id=4">test.myserver.com</a></td></tr>
<tr><td>1.2.3.8</td><td>hostname.bla.com</td><td><a href="edit-reverse.cgi?id=5"><i>not set</i></a></td></tr>
<tr><td>1.2.3.9</td><td>hostname.bla.com</td><td><a href="edit-reverse.cgi?id=6"><i>not set</i></a></td></tr>
现在我需要当前的RDN值(在这种情况下,无论是myserver.com
或not set
或test.myserver.com
),我需要的价值或者它链接到(edit-reverse.cgi?id=1
或1
完整的URL ),它链接到阵列$aIP
中的IP地址。
这将是预期的输出(未特别是在这个输出格式,而在数组或东西):
1.2.3.4 => 1, myserver.com
1.2.3.5 => 2, not set
1.2.3.6 => 3, not set
1.2.3.7 => 4, test.myserver.com
1.2.3.8 => 5, not set
1.2.3.9 => 6, not set
请记住,不是所有的IP地址,我有可能是$aIP
阵列,所以基本上它应该遍历HTML代码并根据$aIP
数组搜索值。
我正在考虑使用正则表达式,但后来我不知道他们很多,所以它可能是非常低效的代码。处理这个问题的最佳方法是什么?
你有没有考虑过使用HTML解析器来解析这个HTML? – Borealid 2012-02-20 19:20:46
http://simplehtmldom.sourceforge.net/ – Crontab 2012-02-20 19:23:33
你不想做的是使用正则表达式。原因如下:http://htmlparsing.com/regexes – 2014-03-07 03:34:08