2013-11-25 24 views
0

你好,我是相當新的PHP,我已經開始在.txt文件中使用strstok。它工作得很好,直到我想用一個詞來標記化。我一直在研究更復雜的(1年級compsci級別)程序,但下面的例子將很好地總結這個問題。PHP用一個詞Tokenize

例如,如果我有字符串:「你好,你今天非常美麗」,我想使用單詞「非常」進行標記。如果我回應這兩個標記,我希望的輸出將是「你今天美麗的世界」。然而,當我嘗試使用一個詞時,我從來沒有這樣做過,而且我還沒有找到解釋如何做這個簡單解釋的來源。

這裏是代碼同樣的事情:

<?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¯¯

+0

根據[PHP文件(http://us3.php.net/strtok) - '的strtok($海峽, $令牌)';按**的任意字符**分割。不是字符串。所以,你應該使用'explode($ token,$ str);'作爲[@ hek2mgl](http://stackoverflow.com/users/171318/hek2mgl)建議。 – Kamiccolo

回答

1

strtok()只接受單個字符作爲分隔符標記。 (雖然你將它們都作爲一個字符串)

你想explode()

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