I.T Solution | I.T Training | I.T Integration System

PHP: Remove Everything But Letters And Numbers – Reg Expressions

PHP: Remove Everything But Letters And Numbers – Reg Expressions

I always forget this PHP function, but I’m finding myself regularly needing it. I thought I’d just jot it down for my own reference and for anyone else who might need it.

Function: ereg_replace

What this function basically does is remove all characters from a string which isn’t a letter or a number. It can be a very cool function for error checking. Regular expression functions like this enable you to search for patterns within a string.

$string = "remove ever^&thing but *&^*&%£ letters & numbers*&^*";
$cleansedstring = ereg_replace("[^A-Za-z0-9]", "", $string );
echo $cleansedstring;

$cleansedstring should output: removeeverthingbutlettersnumbers

I used “[^A-Za-z0-9]” to remove every chracter that isn’t a letter or number, but here are some different matches:

[abc] a, b, or c
[a-z] Any lowercase letter
[^A-Z] Any character that is not a uppercase letter
(gif|jpg) Matches either “gif” or “jpeg”
[a-z]+ One or more lowercase letters
[0-9\.\-] any number, dot, or minus sign
^[a-zA-Z0-9_]{1,}$ Any word of at least one letter, number or _
([wx])([yz]) wy, wz, xy, or xz
[^A-Za-z0-9] Any symbol (not a number or a letter)
([A-Z]{3}|[0-9]{4}) Matches three letters or four numbers

You should note that because regular expressions are more powerful than regular functions, they are also slower. You should only use regular expressions if you have a particular need. Out of curiosity, does anyone know a less taxing function of getting the same result, or are regular expressions the most suitable option for stripping everything but numbers and letters?

For a more indepth explanation, here’s an awesome tutorial on Using Regular Expressions.


Single Post Navigation

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: