很抱歉,如果这是一个新手问题。 假设我有这个字符串(值名称和服务器可以更改): 我忘了说我知道'某事'的长度。
$str='something-name:Jon,server:localhost'
现在我必须提取值:'Jon'和'localhost'并将它们放在变量中。
我现在在做什么:
if ((strpos($str, 'something')) !== false){
$par_name = strpos($str, 'name:');
if ($par_name !== false){
$name = substr($n, 20);
}
}
现在:
$name == 'Jon,server:localhost'
相反,我只需要获取名称和服务器子字符串之后。
$name == 'Jon'
$server == 'localhost'
我想我必须找到substr的第三个参数的确切值。 我不知道。
感谢您的回复。
答案 0 :(得分:3)
您可以使用explode()
轻松完成此操作。用逗号分隔字符串作为分隔符,用冒号分隔部分作为分隔符,并在两个部分中的冒号之前抓取部分:
$str='something-name:Jon,server:localhost';
list($part1, $part2) = explode(',', $str);
list(,$name) = explode(':', $part1);
list(,$server) = explode(':', $part2);
答案 1 :(得分:2)
这只是您如何实现这一目标的一个快速示例:
$str='something-name:Jon,server:localhost'
$explode = explode(',', $str);
$explodePart1 = explode(':', $explode[0]);
$explodePart2 = explode(':', $explode[1]);
$name = explodePart1[1]
$server = explodePart2[1];