Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,995 questions

51,940 answers

573 users

How to check whether a user string contains any forbidden words from a list in PHP

2 Answers

0 votes
function containsForbiddenWords(string $input, array $forbidden): bool {
    // Normalize input
    $input = strtolower(trim($input));
    $input = preg_replace('/[^a-z0-9]+/i', ' ', $input);

    // Build safe regex pattern
    $pattern = '/\b(' . implode('|', array_map('preg_quote', $forbidden)) . ')\b/i';

    // Check for forbidden words
    return preg_match($pattern, $input) === 1;
}

$input = "This text contains a badword inside";
$forbidden = ['badword', 'evil', 'kill', 'nasty', 'terrible'];

if (containsForbiddenWords($input, $forbidden)) {
    echo "Forbidden word detected";
} else {
    echo "No forbidden words found";
}



/*
run:

Forbidden word detected

*/

 



answered Dec 26, 2025 by avibootz
0 votes
function containsForbiddenWords(string $input, array $forbidden): string {
    return str_ireplace($forbidden, '', $input);
}

$input = "This text contains a badword inside";
$forbidden = ['badword', 'evil', 'kill', 'nasty', 'terrible'];

$replaced = containsForbiddenWords($input, $forbidden);

if ($replaced !== $input) {
    echo "Forbidden word detected";
} else {
    echo "No forbidden words found";
}



/*
run:

Forbidden word detected

*/

 



answered Dec 26, 2025 by avibootz

Related questions

...