Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: How to remove HTML tags from text

by pelagic (Priest)
on Feb 04, 2005 at 11:48 UTC ( #428019=note: print w/replies, xml ) Need Help??

in reply to How to remove HTML tags from text

One (of many) possibilities is to remove whatever there is between "<" and ">" no matter whether it's really HTML. This could be achieved easily with Text::Balanced's "extract_bracketed".


Replies are listed 'Best First'.
Re^2: How to remove HTML tags from text
by nejcPirc (Acolyte) on Feb 04, 2005 at 11:54 UTC
    Something like this?
    $data=~s/<.*?>//g; $data=~s/&lt.*?&gt//g;
      Text::Balanced does it properly even if there is some funny stuff between the brackets. Look into the documentation for more info. But of course you can also use some regex to remove the strings in a simple way.

      $data = <<_END_; <script language="JavaScript"> alert("Boo!") </script > _END_
      A /s modifier would help a little, but doesn't solve everything. Eg, what about this tag?
      $data = qq{ <img src="hello.jpg" alt="x>y" width="60" height="60" /> } +;

      Lesson: never treat HTML parsing as a "back of an envelope" exercise :)

      cLive ;-)

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (13)
As of 2019-04-25 14:43 GMT
Find Nodes?
    Voting Booth?
    I am most likely to install a new module from CPAN if:

    Results (127 votes). Check out past polls.

    • (Sep 10, 2018 at 22:53 UTC) Welcome new users!