php字符串查找子串

时间:2013-10-14 14:55:43

标签: php string substring

很抱歉,如果这是一个新手问题。 假设我有这个字符串(值名称和服务器可以更改): 我忘了说我知道'某事'的长度。

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

感谢您的回复。

2 个答案:

答案 0 :(得分:3)

您可以使用explode()轻松完成此操作。用逗号分隔字符串作为分隔符,用冒号分隔部分作为分隔符,并在两个部分中的冒号之前抓取部分:

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

Demo!

答案 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];
相关问题