How to remove control characters from PHP string ?

Given a string that contains control characters. The task is to remove all control characters from a string. In ASCII, all characters having a value below 32 come under this category. Some of the control characters are given below:
| S.NO | ASCII VALUE | Name | Symbol |
|---|---|---|---|
| 1. | 0 | null (NUL) | “\0” |
| 2. | 9 | horizontal tab(HT) | “\t” |
| 3. | 10 | line feed(LF) | “\n” |
| 4. | 11 | vertical tab(VT) | “\v” |
| 5. | 27 | escape(ESC) | “\e” |
Example:
Input: str = "\0\eGeeks\t\e\tfor\v\vGeeks" Output: zambiatek
In this article, we will remove control characters from the PHP string by using two different methods.
- Using General Regular Expression:
- Using ‘cntrl’ Regex:
Using General Regular Expression: There are many regular expressions that can be used to remove all Characters having ASCII value below 32. Here, we will be using preg_replace() method.
Note: The ereg_replace() method is removed from PHP >= 7, so here we will be using preg_replace() method.
- Program:
<?PHP// PHP program to remove all control// characters from string// String with control characters$str="\eGeeks\t\tfor\v\vGeeks\n";// Using preg_replace method to remove all// control characters from string$str= preg_replace('/[\x00-\x1F\x7F]/','',$str);// Display the modify stringecho($str);?> - Output:
zambiatek
Using ‘cntrl’ Regex: This can also be used to remove all control characters. And [:cntrl:] stands for all control character.
- Program:
<?PHP// PHP program to remove all control// characters from string// String with control characters$str="\eGeeks\t\tfor\vGeeks\n";// Using preg_replace method to remove all// control characters from string$str= preg_replace('/[[:cntrl:]]/','',$str);// Display the modify stringecho($str);?> - Output:
zambiatek



