使用Tokenizer(strtok)来解析字符串。如何获取字符串的第二个标记?

时间:2014-07-23 15:48:35

标签: php

我想抓住这个变量的姓氏或第二个字

$name = 'Sandra Bullok';
$first_token  = strtok($name, ' ');
echo $first_token; 

将输出" Sandra"

如何输出" Bullok"

3 个答案:

答案 0 :(得分:3)

$name = 'Sandra Bullok';
$parts = explode(' ', $name);
echo $parts[0]; // 'Sandra'
echo $parts[1]; // 'Bullok'

http://php.net/manual/en/function.explode.php

如果你想用strtok()执行此操作:

$name = 'Sandra Bullok';
$first_token  = strtok($name, ' ');
$second_token = strtok(' ');
echo $first_token; // 'Sandra'
echo $second_token; // 'Bullok'

答案 1 :(得分:0)

替代方案:

list($first, $last) = explode(' ', $name);

你可以做一些额外的检查,看看有多少可能有一个,中间和姓氏。

答案 2 :(得分:0)

如果你想使用strtok,你应该这样做:

$name = 'Sandra Bullok';
$token = strtok($name, ' ');

while ($token !== FALSE) { // enter all possible values
    echo $token . ' ';
    $token = strtok(' ');
}

strtok reference