Jump to content

Why does this preg_match code fail?


php_guy

Recommended Posts

Here's my code:

 

I'm trying to make a function that returns true if the supplied string contains illegal characters, or false otherwise.

 

I can't get it to work. Could someone please comment?

 

<?phpfunction contains_illegal_chars($value) {if ( preg_match("['=]", $value) > 0 ) { 	return true; } return false;}$value = "this contain both illegal characters: ' and =" . "<BR>";echo "Value is: $value";if( contains_illegal_chars($value) )echo "yes";elseecho "no";  // This is always being returned! Even though the string clearly contains both the quote and the equals sign!?>

 

 

Link to comment
https://forums.phpfreaks.com/topic/214253-why-does-this-preg_match-code-fail/
Share on other sites

Great! Thank you that worked.

 

Why do the brackets need to be escaped? Aren't they automatically treated as a regex special character? I would think you would only need to escape them if you actually wanted to search for the bracket itself.

 

So

preg_match( "[/[]", $value)

 

No?

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.