我正在尝试preg_split
在 PHP 中使用来分解以下字符串并返回 2 个 IP 地址:
$membersStr = "members { 167.69.27.151:4449 {} 167.69.27.153:4449 {} 167.69.27.154:4449 { session user disabled } 167.67.27.156:4449 }";
我的代码是:
$nodesArray = preg_split("/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/", $membersStr, -1, PREG_SPLIT_NO_EMPTY);
然后现在简单地打印它:
print_r($nodesArray);
但是它是一个空数组。我从在线检查器中仔细检查了我的正则表达式,它返回了 IP。
试 :
preg_match_all('/\d+\.\d+\.\d+\.\d+/', $membersStr, $nodesArray);
echo $nodesArray[0];
印刷:
Array
在我的浏览器中。