Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Answer: How can I find the contents of an HTML tag?

by mikfire (Deacon)
on May 09, 2000 at 18:54 UTC ( #10761=categorized answer: print w/replies, xml ) Need Help??

Q&A > data formatting > How can I find the contents of an HTML tag? - Answer contributed by mikfire

Assuming that the distinguishing characteristic of the TD entry you want to extract is the leading and following space, I'd suggested a regex something like this:

my( $var ) = $html =~ m#<TD> (.*?) </TD>#; print "We found it: $var\n" if defined $var;

The part inside the capturing parens (.*?) says to save any characters found, possibly none. It says to take the fewest possible characters to complete the match — i.e., be non-greedy.

The only way you will be able to know if the match succeeded is to test for definedness. Testing for true/false will fail on the empty case because perl treats the empty string as false.

If the <TD>Foo:</TD> part will always occur immediately in front of the <TD> instances you're interested in, we can make the regex more robust:

m#<TD>Foo:</TD><TD> (.*?) </TD>#

Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2018-10-19 00:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    When I need money for a bigger acquisition, I usually ...














    Results (106 votes). Check out past polls.

    Notices?