Php 如何从该字符串中提取IP地址和端口号?

Php 如何从该字符串中提取IP地址和端口号?,php,arrays,Php,Arrays,我需要用PHP从textarea元素的输出解析一个代理数组及其IP和端口。我想知道解决这个问题最有效的方法是什么,因为通过textarea上传的列表可能位于proxy:port,或者proxy-port(带空格),在这两种情况下,每个代理都会被一个换行符隔开 例如,如果以下列表是在两个不同的时间上载的: 34.345.32.1 9032 4.3.21.234 2023 45.31.45.324 1025 及 然后,在这两种情况下生成的数组都是 $proxies = array ( arra

我需要用PHP从
textarea
元素的输出解析一个代理数组及其IP和端口。我想知道解决这个问题最有效的方法是什么,因为通过
textarea
上传的列表可能位于
proxy:port
,或者
proxy-port
(带空格),在这两种情况下,每个代理都会被一个换行符隔开

例如,如果以下列表是在两个不同的时间上载的:

34.345.32.1 9032
4.3.21.234 2023
45.31.45.324 1025

然后,在这两种情况下生成的数组都是

$proxies = array (
  array('34.345.32.1',9032),
  array('4.3.21.234',2023),
  array('45.31.45.324',1025)
);
我已经在
array
var\u dump()
上尝试了以下代码,但是没有打印任何内容

$array = explode("\n", $_POST['proxies']);
$array2 = explode(" " $array);

您可以使用一个简单的
foreach
循环遍历数组,并
strpos
检测分隔符

$proxies = explode("\n", $_POST['proxies']);
foreach($proxies as $key => $value){
    if(strpos($value, ' ')){
        $proxies[$key] = explode(' ', $value);  
    } else {
        $proxies[$key] = explode(':', $value);  
    }
}

print_r($proxies); 

这是一个基本示例,您需要在此基础上进行扩展,以确保您的数据在这一点之后得到规范化。

您尝试了什么?一旦我们看到您已经为解决问题付出了努力,我们就可以帮助您解决问题。@cmorrissey我已经试过了
$proxies = explode("\n", $_POST['proxies']);
foreach($proxies as $key => $value){
    if(strpos($value, ' ')){
        $proxies[$key] = explode(' ', $value);  
    } else {
        $proxies[$key] = explode(':', $value);  
    }
}

print_r($proxies);