如何检查并获取字符串的不同部分

时间:2016-06-06 11:36:41

标签: php

我希望有人这么做!耳语示例这是一个测试示例。

它会输出 $whisperuser as"例子" &安培; $whispermessage as"这是一个测试示例"。

<?php
    if (strpos($message, '!whisper') === 0) {
        $arr = explode(' ',trim($message));
        $whisperuser = $arr[1]; 
        $whispermessage = $arr[2]; // I need Whisper message to be anything arr[2] and HIGHER. 
        // WOULD DO OUTPUT STUFF HERE
    }
?>

2 个答案:

答案 0 :(得分:0)

您的代码可以轻松编写。在将第三个参数添加到explode之后,它会将字符串的其余部分放到最后一个项目

list( , $whisperuser, $whispermessage) = explode(' ',trim($message), 3);

demo

答案 1 :(得分:0)

使用preg_match。 假设用户名称中没有空格

$str = '!whisper EXAMPLE this is a test example';

$matches = [];

preg_match("/!whisper\s(\w+)\s(.*)$/", $str, $matches);

if (!empty($matches[1]) && !empty($matches[2])) {
    echo "Wispering to user {$matches[1]}: '{$matches[2]}'";
} else {
    echo "No actions taken!";
}

PHP SnippetRegEx example

IF 用户可以在名称中包含空格,但必须以某种方式指定其名称的结束位置。因为如果有用户some user new,您的示例将无法向some user轻声说话。