How to remove non-alphanumeric characters in PHP?
Non-alphanumeric characters can be remove by using preg_replace() function. This function perform regular expression search and replace. The function preg_replace() searches for string specified by pattern and replaces pattern with replacement if found.
Input : !@GeeksforGeeks2018? Output : GeeksforGeeks2018 Input : Geeks For Geeks Output : GeeksForGeeks
int preg_match( $pattern, $replacement_string, $original_string )
Parameter: This function accepts three parameter as mentioned above and described below:
- $pattern: The pattern that is searched in the string. It must be a regular expression.
- $replacement_string: The matched pattern is replaced by the replacement_string.
- $original_string: It is the original string in which searching and replacement is done.
- After the replacement has occurred, the modified string will be returned.
- If no matches are found, the original string remains unchanged.
Method 1: The regular expression ‘/[\W]/’ matches all the non-alphanumeric characters and replace them with ‘ ‘ (empty string).
$str = preg_replace( '/[\W]/', '', $str);
In the regular expression W is a meta-character that is preceded by a backslash (\W) that acts to give the combination a special meaning. It means a combination of non-alphanumeric characters.
Method 2: The regular expression ‘/[^a-z0-9 ]/i’ matches all the non-alphanumeric characters and replace them with ‘ ‘ (null string).
$str = preg_replace( '/[^a-z0-9 ]/i', '', $str);
In the regular expression:
- i: It is used for case insensitive.
- a-z: It is used for all lowercase letters, don’t need to specify A-Z because of i (case insensitive) already mentioned in the statement.
- 0-9: It is used to match all digits.