Cleaning Strings
Often, the strings we get from files or users need to be cleaned up before we can use them. Two common problems with raw data are the presence of extraneous whitespace and incorrect capitalization (uppercase versus lowercase).
Removing Whitespace
You can remove leading or trailing whitespace with the
trim(), ltrim(), and rtrim() functions:
$trimmed=trim(string[,charlist]);$trimmed=ltrim(string[,charlist]);$trimmed=rtrim(string[,charlist]);
trim() returns a copy of
string with whitespace removed from the
beginning and the end. ltrim() (the
l is for left) does the same,
but removes whitespace only from the start of the string. rtrim() (the r is for
right) removes whitespace only from the end of the
string. The optional charlist argument is a
string that specifies all the characters to strip. The default
characters to strip are given in Table 4-3.
Table 4-3. Default characters removed by trim(), ltrim(), and rtrim()
Character | ASCII value | Meaning |
|---|---|---|
| 0x20 | Space |
| 0x09 | Tab |
| 0x0A | Newline (line feed) |
| 0x0D | Carriage return |
| 0x00 | NUL-byte |
| 0x0B | Vertical tab |
For example:
$title=" Programming PHP\n";$str1=ltrim($title);// $str1 is "Programming PHP \n"$str2=rtrim($title);// $str2 is " Programming PHP"$str3=trim($title);// $str3 is "Programming PHP"
Given a line of tab-separated data, use the
charlist argument to remove leading or
trailing whitespace without deleting the tabs:
$record=" Fred\tFlintstone\t35\tWilma\t\n";$record=trim($record,"\r\n\0\x0B ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access