Обнаружение строки - PullRequest
       3

Обнаружение строки

1 голос
/ 24 июля 2011

Итак, я пишу скрипт php IRCbot, и мне интересно ... если бы я внедрил систему обнаружения строк, я говорил бы о бесконечном цикле со сравнением строк?

Или естьболее эффективный способ?

По сути, я пытаюсь сделать что-то вроде этого.

<User1> !say Hello!
<phpBot> Hello!

Ответы [ 2 ]

0 голосов
/ 24 июля 2011

Я думаю, что использовать preg_match для разбора команд гораздо проще, чем даже написать простой парсер:

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

Это без учета регистра, поэтому! SAY также будет работать.

0 голосов
/ 24 июля 2011

Это, я полагаю, то, что вы ищете:

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

Конечно, вы можете добавить столько раз, сколько вам нужно, просто нужно изменить длину проанализированных символов.1004 *

...