Re: Re: How do I extract link text from anchor tag as well as the URL from the "href" attribute
| From: | Ralph Deffke | Date: | Sun, 16 Aug 2009 17:34:40 +0000 |
| Subject: | Re: Re: How do I extract link text from anchor tag as well as the URL from the "href" attribute | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-296846@lists.php.net to get a copy of this message | ||
well the immage goes inside the <a..> <img...> </a>
on ur html the node a has no value however u should not get a error
this is pergect jtml link
<a href="thema.htm"><img src="button4.jpg" width="160"
height="34"
border="0" alt="THEMA"></a>
ralph
"chrysanhy" <phplists@hyphusonline.com> wrote in message
news:88827b190908160943t2254137fve43771c7e4f8cc18@mail.gmail.com...
> WHile waiting for suggestions for extracting the link text from the DOM, I
> tried a brute force approach using the URLs I had found with
getAttribute(),
> but found myself baffled by my results. I boiled down my issue with this
> approach to the following snippet.
>
> $htmldata =<<<EOB
>
http://www.protools.com/users/user_story.cfm?story_id=1162&lang=1">"Creating
>
> Surround Mixes with Tim Weidner</a>" <img height="11"
> src="new.gif" width="28">
> - <i>Magnification</i> engineer talks about mixing the album
at
> the
> <i>ProTools</i> site, by Jim Batchco
>
> http://www.beyondmusic.com/MediaPlayer/Yes/DontGo.html">"Don't
> Go" Video</a><a href="
>
http://fi.soneraplaza.net/kaista/musiq/kaistatv/0,8883,201392,00.html"></a>
> <img height="11" src="new.gif" width="28"> -
> Presented by
Beyond
> Music
> (<a
href="http://www.apple.com/quicktime/download/">QuickTime</a>
>
> Required)
> EOB;
> $url =
> 'http://www.beyondmusic.com/MediaPlayer/Yes/DontGo.html';
> $posn = strpos($url, $htmldata);
> echo "URL |$url| position is |$posn|";
>
> Running this gives me:
>
> URL |http://www.beyondmusic.com/MediaPlayer/Yes/DontGo.html|
> position is
||
>
> I've tried lots of functions, and even regular expressions, but I cannot
get
> the code to find the URL in the HTML. While I still hope for a DOM
solution
> to getting this link text, WHY can't the code find the URL in the HTML
> snippet?
>
> On Sun, Aug 16, 2009 at 9:29 AM, chrysanhy
<phplists@hyphusonline.com>wrote:
>
> > I pasted the code exactly as you have it, and I got the following:
> >
> > *Fatal error*: Call to undefined method DOMElement::getContent()
> >
> > I got the same thing with nodeValue().
> >
> >
> > On Sun, Aug 16, 2009 at 7:35 AM, Ralph Deffke
<ralph_deffke@yahoo.de>wrote:
> >
> >> did u try it something like this
> >>
> >> foreach ($links as $link) {
> >> $int_url_list[$i]["href"] = $link->getAttribute( 'href' );
> >> $int_url_list[$i++]["linkText"] = $link->getContent( ); //
> >> nodeValue();
> >> }
> >> that should work
> >>
> >> send ur code then please
> >> ralph_deffke@yahoo,de
> >>
> >>
> >> "chrysanhy" <phplists@hyphusonline.com> wrote in message
> >>
> >> news:88827b190908160033n226b370bqe2ab70732811b27@mail.gmail.com...
> >> > I have the following code to extract the URLs from the anchor tags of
an
> >> > HTML page:
> >> >
> >> > $html = new DOMDocument();
> >> > $htmlpage->loadHtmlFile($location);
> >> > $xpath = new DOMXPath($htmlpage);
> >> > $links = $xpath->query( '//a' );
> >> > foreach ($links as $link)
> >> > { $int_url_list[$i++] = $link->getAttribute( 'href' ) .
> >> > "\n"; }
> >> >
> >> > If I have a link <a
> >> > href="http://X.com">YYYY</a>, how do I extract
the
> >> > corresponding YYYY which is displayed to the user as the text of the
> >> link
> >> > (if it's an image tag, I would like a DOMElement for that).
> >> > Thanks
> >> >
> >>
> >>
> >>
> >> --
> >> PHP General Mailing List (http://www.php.net/)
> >> To unsubscribe, visit: http://www.php.net/unsub.php
> >>
> >>
> >
>