怀疑PHP中的Strtok

时间:2011-09-09 13:42:33

标签: php strtok

<?php
    $string = "sandesh commented on institue international institute of technology";
    /* Use tab and newline as tokenizing characters as well  */
    $tok = strtok($string, " \n\t");
    echo $tok
    ?>

上面的代码为我提供了输出sandesh。

但如果我希望输出“在国际技术学院评论”,那么我应该如何修改上述代码。

谢谢和问候 Sandesh

3 个答案:

答案 0 :(得分:2)

<?php
$string = "sandesh commented on institue international institute of technology";
echo substr($string,strpos($string," ")+1);

文档

修改

  

我实际上需要第四个标记之后的字符串

<?php
$string = "sandesh commented on institue international institute of technology";
$str_array = explode(" ",$string);
$str_array = slice($str_array,4);
echo implode(" ",$str_array);

答案 1 :(得分:1)

因为您是基于空格进行标记,strtok会为您提供第一个单词。下次你调用strtok时,你会得到第二个单词,等等。鉴于你拥有的字符串和你提供的标记,没有办法将字符串的其余部分作为单个标记。

答案 2 :(得分:1)

  

是否可以直接在第四个令牌后获取字符串,   没有进入循环。

这将在一次传递中获得第四个空格之后的字符串。

<?php
$string = "sandesh commented on institue international institute of technology";
preg_match('/(?:.*?\s){4}(.*)/', $string, $m);
$new_string = $m[1];
echo $new_string;
?>

输出

  

国际技术学院