$test1 = ' surrounding1 '; // No replace
$test2 = ' surrounding2 '; // No replace
$test3 = ' extra spaces between '; // Becomes ' extra spaces between '
Regular expression '/[ ]{2,}/'
won't do the trick because matches also leading and trailing spaces. While (?!\S+)\s{2,}(?!\S+)
won't match all inner spaces.
$result = preg_replace(
'/(?<! # Assert that it is impossible to match...
^ # start-of-string
| # or
[ ] # a space
) # ...before the current position.
[ ]{2,} # Match at least 2 spaces.
(?! # Assert that it is impossible to match...
[ ] # a space
| # or
$ # end-of-string
) # ...after the current position./x',
' ', $subject);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With