[EMAIL PROTECTED] wrote:
I am having a issue parsing an html file.
I want to pull all the data between two html tags.

Problem I am having is that no matter what I try  I can pull either tag or
both but not the data in between.

<div class="record" id="one">

                <div class="rideon">

                                <h2>

                                                <span>Welcome to
Rideon</span>

                                </h2>

                </div>

</div>

</div class="record" id="one">

function datamatch($document)

{

                preg_match_all('/<div class="record" [^<>]*>(.*)/<\/div
class="record" [^<>]*>/i',$document,$elements);

$match = implode("\r\n",$elements[0]);

return $match;

}

This should return the following

<div class="record" id="one">

                <div class="rideon">

                                <h2>

                                                <span>Welcome to
Rideon</span>

                                </h2>

                </div>

</div>

</div class="record" id="one">



<plaintext><?php

$data = '

<div class="record" id="one"><div class="rideon"><h2><span>Welcome to Rideon 
#1</span></h2></div></div>
<div class="record" id="two"><div class="rideon"><h2><span>Welcome to Rideon 
#2</span></h2></div></div>
<div class="record" id="three"><div class="rideon"><h2><span>Welcome to Rideon #3</span></h2></div></div>
<div class="record" id="four"><div class="rideon"><h2><span>Welcome to Rideon 
#4</span></h2></div></div>

';

if ( preg_match_all('!<div class="record" id="([^"]+)"><div class="rideon"><h2><span>([^<]+)</span></h2></div></div>!', $data, $matches, PREG_SET_ORDER) ) {
        print_r($matches);
} else {
        echo 'Could not match anything.';
}



--
Jim Lucas

   "Some men are born to greatness, some achieve greatness,
       and some have greatness thrust upon them."

Twelfth Night, Act II, Scene V
    by William Shakespeare

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to