我有一个脚本提供了一些ip地址的信息。
我想从文本中提取国家。
在下面的文本中,国家/地区行是"Country: US"
我只想显示:US
正文是:
[Querying whois.arin.net]
[whois.arin.net]
#
# Query terms are ambiguous. The query is assumed to be:
# "n 173.194.74.100"
#
# Use "?" to get help.
#
#
# The following results may also be obtained via:
# http://whois.arin.net/rest/nets;q=173.194.74.100?showDetails=true&showARIN=false&ext=netref2
#
NetRange: 173.194.0.0 - 173.194.255.255
CIDR: 173.194.0.0/16
OriginAS: AS15169
NetName: GOOGLE
NetHandle: NET-173-194-0-0-1
Parent: NET-173-0-0-0-0
NetType: Direct Allocation
RegDate: 2009-08-17
Updated: 2012-02-24
Ref: http://whois.arin.net/rest/net/NET-173-194-0-0-1
OrgName: Google Inc.
OrgId: GOGL
Address: 1600 Amphitheatre Parkway
City: Mountain View
StateProv: CA
PostalCode: 94043
Country: US
RegDate: 2000-03-30
Updated: 2011-09-24
Ref: http://whois.arin.net/rest/org/GOGL
OrgTechHandle: ZG39-ARIN
OrgTechName: Google Inc
OrgTechPhone: +1-650-253-0000
OrgTechEmail: arin-contact@google.com
OrgTechRef: http://whois.arin.net/rest/poc/ZG39-ARIN
OrgAbuseHandle: ZG39-ARIN
OrgAbuseName: Google Inc
OrgAbusePhone: +1-650-253-0000
OrgAbuseEmail: arin-contact@google.com
OrgAbuseRef: http://whois.arin.net/rest/poc/ZG39-ARIN
#
# ARIN WHOIS data and services are subject to the Terms of Use
# available at: https://www.arin.net/whois_tou.html
#发布于 2012-04-28 21:01:36
如果它只是您需要的正则表达式-试试这个-国家id将在第一个组中
Country:\s*([A-Z]{2})Country: -匹配literals\s* -匹配任意数量的空格,制表符etc.([A-Z]{2}) -匹配并捕获任意字母(大写)两次如果需要此模式的所有匹配项,请使用preg_match_all
发布于 2012-04-28 21:04:36
使用preg_match,您可以执行以下操作:
if (preg_match('/^Country:\s*([A-Z]{2,3)$/m', $str, $match)) {
echo $match[1];
}发布于 2012-04-28 21:05:47
有一个用于处理whois数据的phpwhois库。它将得到一个数组形式的响应。
https://stackoverflow.com/questions/10363657
复制相似问题