繁体   English   中英

如何使用PHP从该字符串中提取数据? 使用RegEx?

[英]How can I pull data out of this string with PHP? Using RegEx?

这是我从服务器获得的字符串:

70.90.184.9 Mozilla / 5.0(Macintosh; Intel Mac OS X 10_8_4)AppleWebKit / 536.30.1(KHTML,like Gecko)Version / 6.0.5 Safari / 536.30.1

我需要提取的数据应如下所示:

$ip = "70.90.184.9"
$os = "Intel Mac OS X 10_8_4"

是否有RegEx可以在PHP中轻松获取IP? 那操作系统呢?

谢谢!

为此,请使用函数get_browser() 这是一个隐藏的宝藏;)致电:

$str = '70.90.184.9 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1';
var_dump(get_browser($str));

使用PHPBrowsCap项目。 它是一个独立的类,它试图克服get_browser()函数的局限性。

众所周知,解析用户代理字符串是困难且不可靠的。 上述项目可能是获取可用的用户代理信息的最佳方法。 话虽如此,请不要使用用户代理字符串张贴“此网站仅支持浏览器X”消息,否则人们会讨厌您。

此模式可以完成您的示例,但是我不确定其他字符串是否相同:

^([\d.]++)[^(]++\(\S++\s([^)]++)

如果您想要一个更通用的模式,请使用一些可能的示例更新您的帖子,这些示例可能对确定更全局的语法很有用。 但是,Sverri建议的正则表达式替代方法可能是一个好方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM