preg_match_all()

From: Date: Tue, 04 Mar 2003 00:51:09 +0000
Subject: preg_match_all()
Groups: php.general 
Request: Send a blank email to php-general+get-138004@lists.php.net to get a copy of this message
As described in http://www.php.net/manual/en/function.preg-match-all.php, I have put in place a bit of code theoretically designed to parse out snippets of text embraced with an open and close tag. The code I am using is this: preg_match_all('/begincommand(.*)endcommand/',$messagebody,$commandOuttake,P REG_PATTERN_ORDER); print $commandOuttake[0][0]." (0,0), ".$commandOuttake[0][1]." (0,1)\n"; print $commandOuttake[1][0]." (1,0), ".$commandOuttake[1][1]." (1,1)\n"; For this input random words begincommand another test string 1[endcommand] a couple of random words [begincommand]2nd instance of command in same email test string [endcommand] and then a bunch of nonsense this code produces this output: begincommand another test string 1[endcommand] a\r\ncouple of random words [begincommand]2nd instance of command in same email\r\ntest string [endcommand (0,0), (0,1) another test string 1[endcommand] a\r\ncouple of random words [begincommand]2nd instance of command in same email\r\ntest string [ (1,0), (1,1) In other words, the fact that I have the begincommand ... endcommand TWICE, the preg_match_all only accepts the OUTER open and close tags. It never stops at the first endcommand as I am trying to make it do. The string " a\r\ncouple of random words" should never show up! I've tried this with and without the PREG_PATTERN_ORDER, with ereg, preg_match and various and sundry other variations, and I am at a loss. How do I change the criteria to stop at the first instance of a match? How do I parse out only up to the first instance of "endcommand"? I am not certain if I am subscribed directly to this list, so in answering, would you be so kind as to cc: vania@pandorasdream.com? Thanks! _________________________ Vania Smrkovski Internet Design and Programming vania@pandorasdream.com http://pandorasdream.com/

« previous php.general (#138004) next »