Open In App

How to remove non-alphanumeric characters in PHP?

Last Updated : 10 Oct, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

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:




<?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);
?>


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:




<?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);
?>


Output:

GeeksforGeeks2018


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads