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.

Examples:

Input : !@GeeksforGeeks2018?
Output : GeeksforGeeks2018

Input : Geeks For Geeks
Output : GeeksForGeeks

Syntax:

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.

Return value:

  • 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.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
  
// string containing non-alphanumeric characters
$str="!@GeeksforGeeks2018?";
  
// preg_replace function to remove the
// non-alphanumeric characters
$str = preg_replace( '/[\W]/', '', $str);
  
// print the string
echo($str);
?>

chevron_right


Output:

GeeksforGeeks2018

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.

Example:

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
  
// string containing non-alphanumeric characters
$str="!@GeeksforGeeks2018?";
    
// preg_replace function to remove the 
// non-alphanumeric characters
$str = preg_replace( '/[^a-z0-9]/i', '', $str);
   
// print the string
echo($str);
?>

chevron_right


Output:

GeeksforGeeks2018


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.