PHP regex whitespace shorthand \s
can be used to match whitespace characters. These are the characters it will match.
Char | Dec val | Oct val |
---|---|---|
tab | 9 | \011 |
newline | 10 | \012 |
form feed | 12 | \014 |
carriage return | 13 | \015 |
space | 32 | \040 |
This is convenient way to remove whitespace or replace multiple whitespaces to single space. Here are some preg_replace examples using whitespace.
preg_replace – remove all whitespaces
<?php $str = "foo bar\nfoo"; $newstr = preg_replace('/\s/', "", $str, -1, $count); if ($count > 0) { echo "newstr after $count replacement(s):\n$newstr\n"; } else { echo "No replacement\n"; } ?>
newstr after 2 replacement(s): foobarfoo
Env: PHP version 7.4.33 (Linux)
preg_replace – collapse multiple whitespaces to single space
<?php $str = "foo bar\n\n\nfoo\nbar"; $newstr = preg_replace('/\s+/', ' ', $str, -1, $count); if ($count > 0) { echo "newstr after $count replacement(s):\n$newstr\n"; } else { echo "No replacement\n"; } ?>
newstr after 3 replacement(s): foo bar foo bar
Env: PHP version 7.4.33 (Linux)