In this PHP tutorial, I will discuss how to remove special character from strings in PHP using preg_replace
. Strings containing special characters may be vulnerable to security flaws, inconsistent data, or unfavorable results.
Sometimes, We need to get the result of an input string as a simple composition of alphabets and numbers and, want to remove all special characters from the string by using PHP preg_replace
method.
There are two options available to remove special characters from a string using PHP.
You can also check another tutorial of PHP strings:
Using preg_replace
PHP Function
We can remove special characters from a string using preg_replace
, As like naming it using a regular expression to remove special characters from a string.
Syntax of preg_replace
PHP Function:
$result = preg_replace($pattern, $replaceWith , $string);
The Parameters are:
- $pattern: The pattern to search for. It can be either a string or an array with strings.
- $replaceWith: The string or an array with strings to replace. If this parameter is a string and the pattern parameter is an array, all patterns will be replaced by that string. If both pattern and replacement parameters are arrays, Each pattern will be replaced by the replacement counterpart.
- $string: This is the string for which you want to filter special characters.
- $result: This is the output string without special characters.
Remove Special Character from String in PHP Using preg_replace()
function RemoveSpecialChar($value){ $result = preg_replace('/[^a-zA-Z0-9]/s','',$value); return $result; }
In this example, the regular expression /[^a-zA-Z0-9 ]/
matches any character that is not an uppercase letter, lowercase letter, digit, or space. Those characters will be removed from the string.
How to Call Method
echo RemoveSpecialChar("does't happened ' ' test");
Output:
does t happened test
Using str_replace
PHP Function
The str_replace
function in PHP is a simple way to remove specific characters from a string. If we know what special characters we need to remove, we can use str_replace()
to get the same effect as the above script.
Syntax of str_replace
PHP Function:
$title = str_replace( array( '\'', '"', ',' , ';', '<', '>' ), ' ', $value);
Remove Special Character from String in PHP Using str_replace()
function RemoveSpecialChapr($value){ $string = "Hello, @world!"; // Define an array of special characters to remove $specialChars = array("@", "!"); // Remove special characters using str_replace $cleanString = str_replace($specialChars, "", $string); echo "Source String: $string\n"; echo "Result String: $cleanString\n"; }
in the above code, We have created an array $specialChars
containing the special characters we want to remove. The str_replace
function then replaces these characters with an empty string, resulting in a sanitized version of the original string.
How to call Method
echo RemoveSpecialChar();
Using filter_var
PHP also provides filter_var
function, You can combine it with the FILTER_SANITIZE_STRING
filter to remove HTML tags and special characters from strings.
<?php $string = "<b>test</b> this & string!"; // Remove HTML tags and special characters using filter_var $cleanString = filter_var($string, FILTER_SANITIZE_STRING); echo "Original String: $string\n"; echo "Cleaned String: $cleanString\n";
FILTER_SANITIZE_STRING
removes HTML tags and special characters from the source string.
Conclusion
Removing special characters from strings in PHP is a common operation in web applications. You can use basic method str_replace
or preg_replace
, or advanced methods involving filter_var
and custom regular expressions to remove unwanted characters from strings.