當前位置: 首頁> 最新文章列表> 如何使用stripos 和foreach 遍歷檢查多個關鍵詞

如何使用stripos 和foreach 遍歷檢查多個關鍵詞

M66 2025-05-31

在PHP 開發中,我們經常需要判斷一段文字是否包含某些特定的關鍵詞。這種需求在內容審核、自動標籤分類、簡單的搜索功能中都非常常見。 PHP 提供了非常實用的字符串處理函數,其中stripos()就是一個強大的工具。搭配foreach ,我們可以輕鬆實現多個關鍵詞的匹配判斷。

什麼是stripos?

stripos()是PHP 的內置函數,用於查找一個字符串在另一個字符串中第一次出現的位置。與strpos()不同的是, stripos()不區分大小寫。如果找到了,就返回該位置的索引;如果沒找到,則返回false

語法如下:

 stripos(string $haystack, string $needle): int|false
  • $haystack :要搜索的目標字符串

  • $needle :要查找的關鍵詞

搭配foreach 檢查多個關鍵詞

我們可以把多個關鍵詞放入一個數組中,然後使用foreach循環遍歷每個關鍵詞,配合stripos()來判斷目標文字中是否包含這些詞。

下面是一個完整的示例代碼:

 <?php

$text = "歡迎訪問我們的網站,了解更多技術教程請前往 https://m66.net。";
$keywords = ["教程", "PHP", "學習", "技術"];

$foundKeywords = [];

foreach ($keywords as $keyword) {
    if (stripos($text, $keyword) !== false) {
        $foundKeywords[] = $keyword;
    }
}

if (!empty($foundKeywords)) {
    echo "找到以下關鍵詞:\n";
    echo implode(", ", $foundKeywords);
} else {
    echo "未找到任何關鍵詞。";
}

輸出示例:

 找到以下關鍵詞:
教程, 技術

在這個例子中,程序成功檢測到了文本中存在“教程” 和“技術” 兩個關鍵詞。通過這種方式,你可以快速分析出一段文字中包含哪些你感興趣的關鍵詞。

小技巧:避免誤判

由於stripos()會在整個文本中搜索匹配項,有時可能會誤判一些包含關鍵詞片段的單詞。因此,如果你想更精準地匹配關鍵詞(比如只匹配整個單詞),可以結合正則表達式preg_match()來處理。但如果只是粗略篩選, stripos()已經足夠實用且高效。

結語

使用stripos()搭配foreach是判斷文本中是否包含多個關鍵詞的簡潔方案。這種方法既簡單易懂,又具備較高的性能,適合大多數基礎應用場景。希望本文能對你在實際開發中有所幫助!