Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: View The HTML ???

by asarih (Hermit)
on Aug 26, 2003 at 02:07 UTC ( #286558=note: print w/replies, xml ) Need Help??


in reply to View The HTML ???

What "text box"? And are you processing the text (converting > to >, etc.) before calling Perl's print?

I guess CPAN is a start.

Replies are listed 'Best First'.
Re: Re: View The HTML ???
by einerwitzen (Sexton) on Aug 26, 2003 at 02:34 UTC
    Yea right now I just have a whole list of filters
    @HTMLUN2 = map { s/</&lt/; $_ } @HTMLUN1; @HTML = map { s/>/&gt/; $_ } @HTMLUN2; print <<HTML; <textarea>@{[join("",@HTML)]}</textarea> HTML

    I am looking for the command that does all the stuff for me, so i don't need to map { everything.

      Update: I'm a klutz.. don't forget to see asarih's reply below.

      FWIW, you need to add s/&/&amp;/g; to your substitutions for a minimal escaping solution.

      Also, you must terminate your entities with a semicolon - it's &lt; and not &lt. (Well, the latter is acceptable in some cases under SGML, but don't go there unless you like headaches.)

      A few style suggestions on your code - try something like this:

      s/</&lt;/ for @HTML; s/>/&gt;/ for @HTML; s/&/&amp;/ for @HTML; print '<textarea>', join("", @HTML), '</textarea>';
      Much easier on the eyes, no? Anyway, as I've already said:
      use CGI qw(:standard); print textarea('', escapeHTML(join '', @HTML));

      Makeshifts last the longest.

        If you don't want to use CGI.pm, don't forget /g regex modifier, and remember to substitute the ampersands first, then angle brackets.
        If you're not going to use the CGI or other already-invented wheels, do make sure you get your ordering right, or you'll end up with &amp;lt;BR&amp;gt;&amp;nbsp; all over the place.
        for (@HTML) { s/&/&amp;/g; s/</&lt;/g; s/>/&gt;/g; }

        If you really wanted to use the map method, you don't need intermediate variables for each possible step. @finished = map { ... } map { ... } map { ... } @originals works just fine. (The last mentioned map is performed first.)

        --
        [ e d @ h a l l e y . c c ]

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2022-10-03 15:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My preferred way to holiday/vacation is:











    Results (14 votes). Check out past polls.

    Notices?