Search code examples
phppreg-matchphp-5.3expression

Remove spaces in string, excluding these in specified between specified characters


I have a string:

Some string, "it's a nice string". I like it. "some other text"

I want remove spaces, excluding there beetween ":

Somestring,"it's a nice string".Ilikeit."some other text"

How I can goal this?


Solution

  • You could use regular expressions, or you could cheat and use explode():

    $text_before = 'Some string, "it\'s a nice string". I like it. "some other text"';
    $text_after = array();
    $text_quotes = explode('"', $text_before);
    for ($i = 0, $max = count($text_quotes); $i < $max; $i++) {
        if (($i % 2) == 1) {
            $text_after[] = $text_quotes[$i];
        } else {
            $text_after[] = str_replace(' ', '', $text_quotes[$i]);
        }
    }
    echo implode('"', $text_after);