0
<?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。

但是如果我想要输出“commented on Institute International Institute of Technology”,那么我应该如何修改上面的代码。

谢谢和问候桑德什

4

3 回答 3

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);
于 2011-09-09T13:45:31.697 回答
1

因为您是基于空间进行标记,strtok所以给了您第一个词。下次调用 strtok 时,您将得到第二个单词,依此类推。鉴于您拥有的字符串和提供的标记,无法将字符串的其余部分作为单个标记获取。

于 2011-09-09T13:47:36.503 回答
1

有什么方法可以直接在第四个令牌之后获取字符串,而无需进入循环。

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

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

输出

国际技术学院

于 2011-09-09T14:43:50.140 回答