YogeshChauhan . com

How to remove special characters (dash, asterisk etc) from any string in PHP?

in PHP on January 5, 2021

There are many ways to use str_replace function.

Let’s take a look at the function first.


The preg_replace() function performs a regular expression searches a string for matches to a pattern and replaces them with replacement.


preg_replace(mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

Simple Syntax:

preg_replace(the value to find, the value to replace, string to be searched, the maximum possible replacements for each pattern, the number of replacements)

Where first 3 parameters are required.


The str_replace() function replaces some characters with some other characters in a string.


str_replace(mixed $search , mixed $replace , mixed $subject [, int &$count ] ) : mixed

Simple Syntax:

str_replace(the value to find,the value to replace,string to be searched,the number of replacements)

Where first 3 parameters are required.


It makes the string lowercase.

Remove all special characters from a string

$cleanString = strtolower($string); 
$cleanString = preg_replace('/[^a-z0-9 -]+/', '', $cleanString);
$cleanString = str_replace(' ', '-', $cleanString);

OR make a function so that you can use it number of times

function cleanInputs($string) {
   $string = str_replace(' ', '-', $string); 
   return preg_replace('/[^A-Za-z0-9-]/', '', $string); 

It’s up to you if you want to remove the hyphens first or after removing the special characters.

NOTE: You can replace it with lowercase or any other letter you like. I’ve used hyphens just for example.

There is a problem though. The solution above leaves multiple hyphens in the solution.

Replace multiple hyphens with one 

$finalOutput = preg_replace('/-+/', '-', $string); 

How to remove dash form any string?

$stringWithoutDash = str_replace("-", " ", $string);

You can remove any special characters you like. One at a time if your code requires that.

$string = str_replace("-", " ", $string);
$string = str_replace("?", " ", $string);
$string = str_replace("!", " ", $string);

Just like above example, it won’t replace all the special characters but only 3.



Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #3 How to uninstall Cocoapods from the Mac OS? #4 How to add Read More Read Less Button using JavaScript? #5 How to Use SQL MAX() Function with Dates? #6 PHP Login System using PDO Part 1: Create User Registration Page

Recently Posted

May 5 Use inline if to make a shorter conditional syntax in React May 4 What is Conditional Rendering in React? May 3 How does @extend rule work in SCSS (Sass)? May 2 How different is Handling Events in React vs HTML DOM? May 2 How to create bouncing balls using HTML canvas and JavaScript? Apr 30 HTML canvas methods

You might also like these

How to Make CSS Lists Bullets Smaller?CSSQuery to increment or decrement value in MySQL ignoring negative valuesSQL/MySQL3 ways to pass a variable in url() function in SCSS (Sass)SCSSLIMIT and OFFSET in PostgresPostgressubstring() Method in JavaScriptJavaScriptSimple Page Hit Counter in PHPPHP