上一篇(PHP 檢查字串中是否包含某字串)有提到如何判斷字串中是否包含某字串,本篇要提的是判斷刻意用其他符號隔開的特定文字,例如,保留字是「架站盒子」,如果要檢查「架o站o盒o子、架站的盒子」等刻意隔開的字,可以簡單用stripos+多條件判斷即可。
以「架站盒子」的例子來說只要判斷字串中所有字只要有包含這四個字,無論是否隔開都算,就分別檢查這四個字並做成&&條件即可,範例如下:
$nick = "架o站盒o子的分身";
if(stripos($nick, "架") !== false && stripos($nick, "站") !== false && stripos($nick, "盒") && stripos($nick, "子")) {
echo "包含保留字";
} else{
echo "未包含保留字";
}
顯示:包含保留字
這個缺點是只要字串中出現「架+站+盒+子」四個字,無論順序、是否隔開,都會被判斷為包含,假設保留字是「小風」,那麼,「小小風」、「小o風大大」、「風小小」、「風o小」等,全部都會被判定為包含保留字。
不過如果只有小或風則不會受到影響,例如「大風」、「小水」都不會被判定包含保留字。
本文是否對您有幫助?