我有一个字符串行2h 2m 202.29.216.236 3128 flag Thailand
$string = preg_replace("/([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})|(\s+\d{2,4}\s+)/", "$1:$2", $string);
我需要得到这样的IP地址:202.29.216.236:3128。
但是我的代码执行了此操作:109.197.92.60:: 8080
。
我不明白空格键和两个冒号在哪里。
提前致谢,抱歉我的英语不好。
答案 0 :(得分:4)
为什么不使用explode()
?
<?php
$str="2h 2m 202.29.216.236 3128 flag Thailand";
$str=explode(' ',$str);
echo $str[2].":".$str[3];//202.29.216.236:3128
答案 1 :(得分:0)
尝试
$string = preg_replace("/([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s+(\d{2,4})/", "$1:$2", $string);
空间来自第二个参数中的 \ s + ,以及来自第二个参数的第二个冒号。炭。