Re: preg_replace() help

From: Date: Sat, 14 Jul 2007 18:42:48 +0000
Subject: Re: preg_replace() help
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-258869@lists.php.net to get a copy of this message
What do you want out? $txt = 'A promise is a debt. -- Irish Proverb'; => [1] $txt = 'A promise is a debt. --Irish Proverb'; OR [2] $txt = 'A promise is a debt. --IrishProverb'; for [1] $txt= preg_replace("%--\x20+%", '--', $txt); //The \x20+ is one or more spaces Rick Pasotto wrote:
I have quotes like the following: $txt = 'A promise is a debt. -- Irish Proverb'; I'd like to replace all the spaces afer the '--' with   This is what I've tried: $pat = '/( --.*)(\s|\n)/U';
    $rpl = '$1$2 ';
    while (preg_match($pat,$txt,$matches) > 0) {
        print "$txt\n";
        printf("[0]: <%s>\n",$matches[0]);
        printf("[1]: <%s>\n",$matches[1]);
        printf("[2]: <%s>\n",$matches[2]);
        preg_replace($pat,$rpl,$txt);
    }
The prints are for debugging. $matches contains what I expect but nothing gets replaced and $txt stays the same so it loops forever. What am I doing wrong?


« previous php.general (#258869) next »