Re: Regex Parsing
| From: | M. Sokolewicz | Date: | Sun, 05 Dec 2004 14:56:56 +0000 |
| Subject: | Re: Regex Parsing | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-203521@lists.php.net to get a copy of this message | ||
rsw@rswfire.com wrote:
m means multiline, so . also matches \n and \r chars. i means it's case-INsensitive. Which I thought was just useful ;) print_r($matches) will show what comes out exactly how. Then at some point you'll probably be able to echo something like echo '###LEVEL'.$matches[1][$i].'###'; where $i would be the part you're echoing from. Anyway, it'll be SOMETHING like that. I tend to always print_r the results first, and then write more code based on the result.preg_match_all('#\[LEVEL([0-9])\](.*)\[/LEVEL[0-9]]#Uim', $content,$matches); You make it look so easy, thanks! That takes care of step one, but how do I make it so everything in $content where there is a level set, is replaced with ###LEVEL?### Does #Uim tell it to only get the first [/LEVEL1] rather than going to the bottom and getting the second? I've always wondered how to tell it to get the first, rather than the last... Thanks in advance! U means it'll become UNgreedy (means it ends at the first occurence instead of the last),