在PHP 開發中,我們經常需要判斷一段文字是否包含某些特定的關鍵詞。這種需求在內容審核、自動標籤分類、簡單的搜索功能中都非常常見。 PHP 提供了非常實用的字符串處理函數,其中stripos()就是一個強大的工具。搭配foreach ,我們可以輕鬆實現多個關鍵詞的匹配判斷。
stripos()是PHP 的內置函數,用於查找一個字符串在另一個字符串中第一次出現的位置。與strpos()不同的是, stripos()不區分大小寫。如果找到了,就返回該位置的索引;如果沒找到,則返回false 。
語法如下:
stripos(string $haystack, string $needle): int|false
$haystack :要搜索的目標字符串
$needle :要查找的關鍵詞
我們可以把多個關鍵詞放入一個數組中,然後使用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是判斷文本中是否包含多個關鍵詞的簡潔方案。這種方法既簡單易懂,又具備較高的性能,適合大多數基礎應用場景。希望本文能對你在實際開發中有所幫助!