[EMAIL PROTECTED] wrote: > Message: 3 > Date: Tue, 16 May 2006 11:10:48 -0500 > From: "Curtis Leach" <[EMAIL PROTECTED]> > Subject: RE: Need help with IMG tag containing unbalanced parentheses > To: [email protected] > Message-ID: > <[EMAIL PROTECTED]> > Content-Type: text/plain; charset=us-ascii > > Nice example program below, but it does have a bug in it. Here is the > fix.
Did you test before posting ? $_ = <<'EOD'; <p>this is a picture of an elephant <img src="elephant.jpg" alt="an elephant" /></p> <p>this is a picture of a monkey <img src="monkey.jpg" alt="a monkey" /></p> <p>this is a picture of a spider <img src="spider.jpg" alt="a spider" /></p> EOD s/\s*<IMG[^>]+>\s*/ [IMAGE REMOVED] /gi; # I used + instead of * since there will be characters and I grabbed the WS # around it so I could use my own on the subs. print $_; __END__ Produces: <p>this is a picture of an elephant [IMAGE REMOVED] </p> <p>this is a picture of a monkey [IMAGE REMOVED] </p> <p>this is a picture of a spider [IMAGE REMOVED] </p> > > $str1 =~ s/<IMG[^>]*>/<IMG = IMAGE REMOVED>/gi; > ------------------------------- > hehe. Curtis, you missed one issue, greedy v non-greedy. you want to stop > at the first > one comes to. what if the input is something like: > -----example----- > <p>this is a picture of an elephant <img src="elephant.jpg" alt="an > elephant" /></p> > <p>this is a picture of a monkey <img src="monkey.jpg" alt="a monkey" > /></p> > <p>this is a picture of a spider <img src="spider.jpg" alt="a spider" > /></p> > -----end example----- > > so i would use > $str1 =~ s/<IMG[^>]*?>/<IMG = IMAGE REMOVED>/gi; > > however last time i did something with html parsing i used HTML parser > since i found it less of a headache. > so obviously i feel the previous suggestion to use it is the best answer > so far. the other one i think was good was to ask for clarification of how > much of the tag to remove. _______________________________________________ ActivePerl mailing list [email protected] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
