當前位置: 首頁> 最新文章列表> 判斷文章標題是否包含敏感詞(stripos + 數組)

判斷文章標題是否包含敏感詞(stripos + 數組)

M66 2025-05-31

在開發網站或系統時,我們常常需要判斷文章標題中是否包含某些敏感詞,特別是為了維護內容的健康性。 PHP 提供了很多字符串處理函數,其中stripos函數可以非常方便地用來查找字符串中是否包含特定的子串。在這篇文章中,我們將講解如何利用stripos函數配合數組判斷文章標題中是否包含敏感詞。

1. stripos函數介紹

stripos函數是PHP 中用於查找一個字符串在另一個字符串中的位置的函數。與strpos不同的是, stripos不區分大小寫,因此它更加適用於檢查不考慮大小寫的敏感詞。

 stripos($haystack, $needle);
  • $haystack :要搜索的字符串(例如文章標題)。

  • $needle :要查找的子字符串(例如敏感詞)。

如果找到敏感詞, stripos返回第一次出現的位置(從0 開始計數),如果沒有找到,則返回false

2. 利用數組判斷是否包含敏感詞

假設我們有一個敏感詞列表,如何判斷文章標題中是否包含這些敏感詞呢?我們可以將敏感詞存儲在數組中,然後使用stripos循環遍歷數組,查找標題中是否含有這些詞。

 <?php
// 敏感詞列表
$sensitive_words = ["色情", "暴力", "賭博", "毒品"];

// 文章標題
$title = "这是一个关于賭博的文章";

// 遍歷敏感詞數組,檢查標題中是否包含敏感詞
foreach ($sensitive_words as $word) {
    if (stripos($title, $word) !== false) {
        echo "標題包含敏感詞: $word\n";
    }
}
?>

在這個例子中,我們定義了一個敏感詞數組$sensitive_words ,然後遍歷這個數組,對於每一個敏感詞,我們使用stripos檢查它是否出現在文章標題中。如果stripos返回的結果不是false ,說明找到了敏感詞。

3. 處理敏感詞並作出相應的處理

一旦檢測到敏感詞,我們可以採取一些處理措施,比如顯示警告信息、禁止發布文章等。下面是一個更加完善的示例,展示瞭如何在文章標題中找到敏感詞並給出警告:

 <?php
// 敏感詞列表
$sensitive_words = ["色情", "暴力", "賭博", "毒品"];

// 文章標題
$title = "關於毒品的非法交易";

// 變量標記是否包含敏感詞
$contains_sensitive_word = false;

// 遍歷敏感詞數組,檢查標題中是否包含敏感詞
foreach ($sensitive_words as $word) {
    if (stripos($title, $word) !== false) {
        $contains_sensitive_word = true;
        echo "標題包含敏感詞: $word\n";
    }
}

// 如果標題包含敏感詞,返回警告信息
if ($contains_sensitive_word) {
    echo "警告:標題包含不當內容,請修改後再提交。\n";
} else {
    echo "標題合法,可以繼續發布。\n";
}
?>

在這個例子中,我們增加了一個$contains_sensitive_word變量來標記文章標題是否包含敏感詞。如果包含敏感詞,我們會給出一個警告,要求用戶修改標題。

4. 替換URL 域名

假設我們在處理的文章中需要替換其中的URL 域名,我們可以使用str_replace函數將所有的URL 域名從原始的域名替換為m66.net 。例如: