Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

fix bad HTML comments

by chipmunk (Parson)
on Nov 29, 2000 at 09:45 UTC ( #43852=sourcecode: print w/ replies, xml ) Need Help??

Category: Web Stuff
Author/Contact Info
Description:

This Perl filter fixes bad HTML comments, such as <!----------- really ---------bad ------ comments ---------->. (Such comments are bad because, according to the spec, each -- -- pair within <! > delimits a comment. This means <!-- -- --> is not a complete comment, for example.)

The code reads in the entire file, then finds each occurrence of <!-- ... --> and uses tr/// to squash each run of hyphens to a single hyphen. The assignment to $x is necessary because $1 is read-only.

#!perl -p0

s/<!-(-.*?-)->/ (my $x = $1) =~ tr,-,,s; $x = '--' if $x eq '-'; "<!-$
+x->" /gse;

UPDATE: Fixed so it no longer turns <!----> into <!--->. Thanks to extremely for pointing that out.

UPDATE: Caveat: don't use this code on files where Perl code may be embedded in an HTML comment, as in this HTML::Mason example: <!-- <% $x-- %> -->. Thanks to extremely for pointing this out too.

Comment on fix bad HTML comments
Download Code
Re: fix bad HTML comments
by extremely (Priest) on Nov 29, 2000 at 09:56 UTC
    Great so when I put a HTML::Mason tag in a comment for testing porpoises (yeah, fishing for errors) like this: <!-- <% $x-- %> --> you gonna blow it down? Oh yeah, what if they do <!---->?

    I shouldn't pick on you but you should really search about on this site a bit, super search on keywords qw( regex HTML fix ); and see what you get...

    --
    $you = new YOU;
    honk() if $you->love(perl)

Back to Code Catacombs

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://43852]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (8)
As of 2014-07-30 23:35 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (241 votes), past polls