Sjekke link med php

En tråd i 'PHP, SQL og databaser' startet av kongen, 25 Apr 2014.

  1. adeneo

    adeneo Medlem

    Innlegg:
    1.611
    Du må begynne med å se på kildekoden til VG, og se om det du søker etter eksisterer, og om det er eventuelle feil osv.

    Jeg har lagt hele kildekoden slik den ser ut når den er hentet med cURL her -> Edit fiddle - JSFiddle

    Som du ser er den fullstendig ugyldig, helt fra første linje hvor serveren til VG har en feil som dytter ut DOCTYPE to ganger, slik at å forsøke å parse den HTML'en med PHP's DOMDocument er sannsynligvis bare å glemme, og da må du over på regex.

    Men, når du ser på kildekoden vil du se at lenkene dine ikke eksisterer, de ligger i noe merkelig JSON greier i en data attributt, men lenken til JSON resultatet ligger rett der, slik at man kan jo hente det direkte, prøv noe sånt

    PHP:
    $url 'http://www.vg.no/forbruker/mat-og-drikke/mat/?format=json';  

    $curl curl_init($url);  
    curl_setopt($curl,  CURLOPT_RETURNTRANSFERTRUE);  
    $response curl_exec($curl); 
    curl_close($curl);

    $json json_decode($response);

    print_r($json);
    så vil du få JSON dataene, dersom du bruker "view source" på resultatet er det som regel lettere å lese ettersom whitespaces og newlines vises.
     
  2. kongen

    kongen kongemedlem

    Innlegg:
    2.748
    Hvordan kan man sjekke om link eksisterer på twitter og facebook-vegg?
     
  3. kongen

    kongen kongemedlem

    Innlegg:
    2.748
    Både Facebook og Twitter har en redirect på linkene.

    Jeg prøvde å legge til denne koden i Adeneos kode, men det hjalp ikke:

    PHP:
    curl_setopt($curlCURLOPT_FOLLOWLOCATIONtrue);
    For Facebook:
    Kode:
    Facebookside: https://nb-no.facebook.com/fiatnorge
    Link til: http://www.funnyordie.com/videos/5aceaf0e06/fiat-3
    
    Linkens kildekode: 
    <a href="http://l.facebook.com/l.php?u=http%3A%2F%2FFunnyOrDie.com%2Fm%2F90kn&amp;h=MAQGplfit&amp;s=1" rel="nofollow nofollow" target="_blank" onmouseover="LinkshimAsyncLink.swap(this, &quot;http:\\/\\/FunnyOrDie.com\\/m\\/90kn&quot;);" onclick="LinkshimAsyncLink.swap(this, &quot;http:\\/\\/l.facebook.com\\/l.php?u=http\\u00253A\\u00252F\\u00252FFunnyOrDie.com\\u00252Fm\\u00252F90kn&amp;h=MAQGplfit&amp;s=1&quot;);">http://FunnyOrDie.com/m/90kn</a>
    
    For Twitter:
    Kode:
    Twitterside: https://twitter.com/fiatontheweb
    Link til: http://instagram.com/p/qReGZym8t9/
    
    Linkens kildekode: 
    <a href="http://t.co/xhiNCa8JH2" rel="nofollow" dir="ltr" data-expanded-url="http://instagram.com/p/qReGZym8t9/" class="twitter-timeline-link" target="_blank" title="http://instagram.com/p/qReGZym8t9/" ><span class="tco-ellipsis"></span><span class="invisible">http://</span><span class="js-display-url">instagram.com/p/qReGZym8t9/</span><span class="invisible"></span><span class="tco-ellipsis"><span class="invisible">&nbsp;</span></span></a>
    
    Hvordan kan man følge redirecten frem til destinasjonssiden, for å se om linken kommer frem til riktig side?
     

Del denne siden