Yogesh Chauhan's Blog

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 Solution to the error “Visual Studio Code can’t be opened because Apple cannot check it for malicious software” #2 How to add Read More Read Less Button using JavaScript? #3 How to check if radio button is checked or not using JavaScript? #4 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #5 How to uninstall Cocoapods from the Mac OS? #6 PHP Login System using PDO Part 1: Create User Registration Page

Recently Posted

#Apr 8 JSON.stringify() in JavaScript #Apr 7 Middleware in NextJS #Jan 17 4 advanced ways to search Colleague #Jan 16 Colleague UI Basics: The Search Area #Jan 16 Colleague UI Basics: The Context Area #Jan 16 Colleague UI Basics: Accessing the user interface
You might also like these
How to compress images with gulp in WordPress?WordPressinclude, include_once, require, require_once in PHPPHPHow to add a ribbon inside a container using CSS?CSSHow to hide and show menu on scroll using JavaScript and CSS?CSSMicroservices vs Monolithic ArchitectureMiscellaneousWordPress: How to find all posts from a custom post type with specific custom field?WordPress