2011-07-24 165 views
1

所以我正在寫一個php IRCbot腳本,我想知道..如果我要實現一個字符串檢測系統,我說的字符串比較無限循環?字符串檢測

或者是否有更有效的方法?

本質上,我試圖完成這樣的事情。

<User1> !say Hello! 
<phpBot> Hello! 
+0

爲什麼無限循環?爲什麼不簡單地檢查每個輸入的字符串? – Dor

回答

0

這一點,我相信,是你在找什麼:

<?php 
    //asuming that $sentence is the <User1> input 
    $sentence='!say Hello!'; 

    if (substr($sentence,0,4)=='!say'){ //4 is the length of the string !say 
     echo ltrim(substr($sentence,4)); //4 is the length of the string !say 
    } 
?> 

當然你也可以的if/else你需要,只需要改變解析字符的長度添加儘可能多。

0

我認爲使用preg_match解析命令要容易得多,甚至比寫一個簡單的解析器:

$input = "!say  hello world"; 
$args = array(); 
if(preg_match("/^!say\s+(.*)$/i", $input, $args)) { 
    echo "Saying: \"", $args[1], "\"\n"; 
} 

這是不區分大小寫這麼說也將工作。