PHP - preg_match - How to match a string upper/lower case with anything before or after it?

Craig van Tonder picture Craig van Tonder · Apr 13, 2012 · Viewed 20.6k times · Source

I have a part of a function that goes like this:

if (preg_match("#\bscript\b#",$userInput))
{
    $bannedWord = 'script';
    logHax();
    return TRUE;
}

This is causing a problem for what I am trying to accomplish because it will only match the exact word "script" and not variations of it, like "ScriPt" or "<script>".

What I would like to have is the examples of the not matched strings along with the original string return true.

Could someone provide me with a bit of understanding on this matter.

Also any tutorials that cover something like this would be greatly appreciated,

Thank you!

Answer

Dale picture Dale · Apr 13, 2012

How's this:

if (preg_match("/<script\b[^>]*>/i",$userInput))
{
    $bannedWord = 'script';
    logHax();
    return TRUE;
}