我期待拆分此字符串:模式的分裂字符串
/服务器的主机名:端口用户名:密码
到:
Array ([0] => hostname
[1] => port
[2] => username:password)
我不希望为/服务器被存储。
主机名,端口,用户名和密码将在所有的长度变化。
我不知道我是否应该使用使preg_split为此,匹配模式应该是什么?
感谢
我期待拆分此字符串:模式的分裂字符串
/服务器的主机名:端口用户名:密码
到:
Array ([0] => hostname
[1] => port
[2] => username:password)
我不希望为/服务器被存储。
主机名,端口,用户名和密码将在所有的长度变化。
我不知道我是否应该使用使preg_split为此,匹配模式应该是什么?
感谢
爆炸字符串,并分割它的部分可以得到你所需要的。请注意,下面的示例没有检查字符串实际上是否以该格式进行检查。这是明智的检查。
$str = '/server hostname:port username:password';
$bits = explode(" ",$str,3);
list($hostname,$port) = explode(':',$bits[1]);
list($username,$password) = explode(':',$bits[2]);
编辑创建你所需要的:
$str = '/server hostname:port username:password';
$bits = explode(" ",$str,3);
list($hostname,$port) = explode(':',$bits[1]);
$arr = array($hostname,$port,$bits[2]);
见explode功能,它会做的工作
我不会用正则表达式这一点,相反,试试这个
$str="/server hostname:port username:password";
$arr=explode(" ",$str);
$newarr=array(explode(":",$arr[1])[0],explode(":",$arr[1])[1],$arr[2]);
Here是它
根据输入格式parse_url()可能是一个选项。
$str = '/server hostname:port username:pa sword';
if(preg_match("|/server (.+):(.+) ([^:]+:.+)|", $str, $m)){
print_r($m);
}
你尝试了什么呢?告诉我们你有什么,我们会帮助你! – grebneke