首页 > 解决方案 > PHP - 检查某些内容是否与字符串匹配

问题描述

我有一个包含 10 个信息的字符串,但我只需要其中一个,这就是排名。我已经尝试将它放在另一个字符串中,但它无法与我的代码一起使用。

我当前的代码如下所示:

if (strpos($rank, 'Platin I') !== false) {
   echo 'Platin I';
} elseif (strpos($rank, 'Platin II') !== false) {
   echo 'Platin II';
}

如果 $rank 是Platin II,那么我的代码给出Platin I。如何检查实际排名是否匹配?

那在字符串之间:Division I Platin II Division

标签: php

解决方案


如果字符串包含Platin II,它也包含Platin I,因此您需要先匹配较长的字符串。

另一种解决方案是使用正则表达式,然后您可以匹配单词边界,因此您不会匹配部分单词。

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

推荐阅读