1

对不起,如果这是一个新手问题。假设我有这个字符串(值 name 和 server 可以更改):另外我忘了说我知道 'something' 的长度。

$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 的第三个参数的确切值。我不知道。

谢谢你的回复。

4

2 回答 2

3

您可以使用explode(). 以逗号为分隔符分割字符串,以冒号为分隔符的部分进行分割,两部分都抓取冒号之前的部分:

$str='something-name:Jon,server:localhost';
list($part1, $part2) = explode(',', $str);
list(,$name) = explode(':', $part1);
list(,$server) = explode(':', $part2);

演示!

于 2013-10-14T15:03:31.833 回答
2

这只是您如何实现此目的的一个快速示例:

$str='something-name:Jon,server:localhost'

$explode = explode(',', $str);

$explodePart1 = explode(':', $explode[0]);

$explodePart2 = explode(':', $explode[1]);

$name = explodePart1[1]
$server = explodePart2[1];
于 2013-10-14T15:03:16.343 回答