duanhanglekr37902 2014-01-17 11:31
浏览 206

在PHP中将字符串拆分为多个部分

I'm writing an IRC bot in PHP and trying to split the below notice down in to multiple parts.

:irc.server.com NOTICE PHPServ :*** CONNECT: Client connecting on port 6667 (class users): Guest!Guest@127.0.0.1 (127.0.0.1) [Guest]<br />

So far I am using:

while(1) {
    while($data = fgets($socket)) {
        echo nl2br($data);
        flush();

        $ex = explode(' ', $data);

        if($ex[0] == "PING"){

            fputs($socket, "PONG ".$ex[1]."
");

        }

        if($ex[1] == "NOTICE"){
            if($ex[6] == "connecting"){

            $userstring = $ex[12];
            $usernick = strstr($userstring, '!', true);
            $userip = strstr($userstring, '@');

            }
        }
    }
}
?>

So $user.nick is working ok but $user.ip includes the @ and the IP address. Why does this include the @ but the nickname doesn't include the !?

Also how can I get $user.ident which is between the ! and the @?

  • 写回答

2条回答 默认 最新

  • doupu3211 2014-01-17 11:52
    关注

    try:

    $userParts = explode('@', $userstring);
    $userip = end($userParts);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么