PHP-检查某些内容是否与字符串匹配

PHP-检查某些内容是否与字符串匹配,php,Php,我有一个包含10个信息的字符串,但我只需要其中一个,这就是排名。我已经试着把它放在另一个字符串中,但它不能像我希望的那样处理我的代码 我当前的代码如下所示: if (strpos($rank, 'Platin I') !== false) { echo 'Platin I'; } elseif (strpos($rank, 'Platin II') !== false) { echo 'Platin II'; } 如果$rank是platinii,那么我的代码将发出platini。

我有一个包含10个信息的字符串,但我只需要其中一个,这就是排名。我已经试着把它放在另一个字符串中,但它不能像我希望的那样处理我的代码

我当前的代码如下所示:

if (strpos($rank, 'Platin I') !== false) {
   echo 'Platin I';
} elseif (strpos($rank, 'Platin II') !== false) {
   echo 'Platin II';
}
如果$rank是
platinii
,那么我的代码将发出
platini
。 如何检查实际排名是否匹配


这在字符串之间:
Division I Platin II Division
如果字符串包含
Platin II
,它也包含
Platin I
,因此您需要首先匹配较长的字符串

另一个解决方案是使用正则表达式,然后可以匹配单词边界,这样就不会匹配部分单词

if (preg_match('/\bPlatin I\b/', $rank)) {
    echo 'Platin I';
} elseif (preg_match('/\bPlatin II\b/', $rank)) {
    echo 'Platin II';
}

您应该先检查
Platin II
,然后检查
Platin I
。如果字符串包含
foobar
,则它也包含
foo
。你总是需要先检查较长的字符串。好的,是的,这很有意义。。。谢谢