Current Location: Home> Latest Articles> PHP Array Sensitive Word Filtering and Replacement: Detailed Implementation Methods and Techniques

PHP Array Sensitive Word Filtering and Replacement: Detailed Implementation Methods and Techniques

M66 2025-06-16

PHP Array Sensitive Word Filtering and Replacement Methods and Techniques

When developing websites or applications, ensuring the security of user data is crucial. One common task is sensitive word filtering and replacement. This article will introduce some methods and techniques using PHP arrays to achieve sensitive word filtering and replacement.

1. Create a Sensitive Word List

First, we need to create a sensitive word list. This list can be a simple array containing all the sensitive words. For example:

$sensitiveWords = array(
    'sensitiveWord1',
    'sensitiveWord2',
    'sensitiveWord3',
    // More sensitive words...
);

2. Check if the Text Contains Sensitive Words

Next, we need to write a function to check whether the text contains any sensitive words. This function will take a text string as a parameter and return a boolean value indicating whether the text contains any sensitive words. For example:

function hasSensitiveWords($text, $sensitiveWords) {
    foreach ($sensitiveWords as $word) {
        if (strpos($text, $word) !== false) {
            return true;
        }
    }
    return false;
}

This function iterates over the sensitive word list and uses the strpos function to check if the text contains any sensitive word. If it finds any, it immediately returns true. If no sensitive words are found after checking the entire list, it returns false.

3. Replace Sensitive Words

When sensitive words are found in the text, we need to perform a replacement operation to replace the sensitive words with other content. Below is an example of a simple replacement function:

function replaceSensitiveWords($text, $sensitiveWords) {
    foreach ($sensitiveWords as $word) {
        $replacement = str_repeat('*', mb_strlen($word, 'UTF-8'));
        $text = str_ireplace($word, $replacement, $text);
    }
    return $text;
}

This function loops through the sensitive word list and uses the str_ireplace function to replace each sensitive word with a string of the same length (using asterisks or other symbols).

4. Multi-level Replacement of Sensitive Words

Sometimes, we may need to implement multi-level replacements for sensitive words. For example, replacing "sensitiveWord1" with "**" and "sensitiveWord2" with "***". We can modify the sensitive word list into an associative array, with sensitive words as keys and replacement strings as values. For example:

$sensitiveWords = array(
    'sensitiveWord1' => '**',
    'sensitiveWord2' => '***',
    // More sensitive words...
);

Then, we make a slight modification to the replacement function:

function replaceSensitiveWords($text, $sensitiveWords) {
    foreach ($sensitiveWords as $word => $replacement) {
        $text = str_ireplace($word, $replacement, $text);
    }
    return $text;
}

With this, sensitive words in the text will be replaced according to the corresponding replacement strings.

5. Case-insensitive Matching of Sensitive Words

Sometimes, we want the matching of sensitive words to be case-insensitive. For example, "sensitiveWord" and "Sensitiveword" should both be considered as sensitive words. We can use the str_ireplace function to achieve case-insensitive replacement.

Summary

The above explains how to use PHP arrays to implement sensitive word filtering and replacement. By creating a sensitive word list, checking if the text contains sensitive words, and replacing them, we can effectively protect user data security. Adjustments and modifications can be made based on actual requirements and situations. Additionally, other techniques can be combined to improve the filtering effect.