Php 如何从该字符串中提取IP地址和端口号?
我需要用PHP从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
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);