【问题标题】:PHP Tokenize with a wordPHP Tokenize 用一个词
【发布时间】:2013-11-25 19:42:02
【问题描述】:

您好,我是 php 的新手,我已经开始在 .txt 文件中使用 strstok。它工作得很好,直到我想用一个词来标记。我一直在研究更复杂的(第一年 compsci 级别)程序,但下面的示例将很好地总结问题。

例如,如果我有一个字符串:“Hello world,你今天很漂亮”,我想使用“very”这个词进行标记。如果我回显这两个标记,我想要的输出将是“Hello world,你今天很漂亮”。但是,当我尝试使用一个词时,我永远不会明白,而且我还没有找到通过简单的解释来解释如何做到这一点的资源。

这里的代码也是一样的:

    <?php
    function strtokTest(){
        $string = "Hello world you are very beautiful today.";
        $token = strtok($string, "very");
        while ($token != false){
            echo "$token";
            $token = strtok("very");
        } 
    }
    ?>

如果我在 php 页面上运行它,输出将是:

Hllo wold ou a bautiful on this da.

起初很有趣,但现在我很难过。谁能告诉我这样做的好方法吗?

谢谢,

亚历山大·W

【问题讨论】:

  • 根据PHP documentation - strtok($str, $token);按token 的ANY CHARACTER 分割。不是字符串。所以,你应该使用explode($token, $str); 作为@hek2mgl 的建议。

标签: php token tokenize strtok


【解决方案1】:

strtok() 仅接受单个字符作为标记分隔符。 (尽管您将它们全部作为字符串传递)

你想要explode():

foreach(explode(' very ', $str) as $token) {
    echo $token;
}

【讨论】:

    猜你喜欢
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多