Re: Re: preg guru question

From: Date: Sat, 14 Feb 2004 08:15:30 +0000
Subject: Re: Re: preg guru question
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-177694@lists.php.net to get a copy of this message
On Sat, Feb 14, 2004 at 12:50:55AM -0500, Adam Bregenzer wrote: > As far as I could tell the regexp I posted was the only one to use a > subpattern to match the first quote type used and then re-apply that > after matching the file name: > '/<img\s+src=([\'"])([^\1]+)\1\s*\/?\s*>/i' > > I am a bit of a regular expression fan and I would be interested in > seeing another way to match without using subpatterns. What was Joel's > regexp again? You're right that my regexp[0] didn't require the quote marks to match each other. Depending on how strict/lax you want to be, that might be a feature or a bug ;) As to doing it without subpatterns... this seems to get there: '#<img\s+src=((\'[^\']*\')|("[^"]*"))\s*/?\s*>#i' but isn't as elegant or extensible as yours, although it does allow for <img src=""> (that is, an empty src attribute). Also, it's less clear where your matches are in mine, since there are so many parens. IOW, Adam's is better ;) [0]: The one I posted was: '/<img src=["\'](.*?)\.(.*?)["\']>/i' which didn't require quotes to match each other, didn't allow for arbitrary whitespace, and didn't allow for XHTML-style tag closing. -- [ joel boonstra | gospelcom.net ]

« previous php.general (#177694) next »