Facebook memiliki tag html tersendiri untuk memudahkan url atau link di share ke halaman facebook. Open Graph (OG) meta tag dirancang facebook agar judul, deskripsi, dan gambar yang ada di halaman web kita bisa terbaca oleh facebook jika seseorang share link atau URL di facebook, dengan begitu tampilan link di facebook akan terlihat sangat menarik seperti gambar berikut.

open graph demo

Contoh link yang di share jika ada open graph meta tag di halaman website yang terkait

Programmer memiliki banyak kepentingan dengan Open Graph meta tag ini, di mana dengan ini kita bisa membuat wall script mirip facebook untuk kepentingan internal atau jika ingin membuat sosial media sendiri untuk kalangan tertentu, misal untuk teman-teman kantor.

Lalu bagaimana kita bisa membaca Open Graph meta tag ini dengan menggunakan PHP?
kali ini jurnal web akan memberi tahu anda sedikit bagaimana mengambil data open graph meta tag facebook dengan php yang ada pada sebuah halaman web

Buat fungsi seperti berikut ini untuk mengambil data dari sebuah halaman web, lalu memilih meta tag open graph saja, dan menghilangkan prefix og, dan mengumpulkan nya menjadi sebuah data array, bisa juga json.

function fetch_og($url)
{
    $data = file_get_contents($url);
    $dom = new DomDocument;
    @$dom->loadHTML($data);
     
    $xpath = new DOMXPath($dom);
    # query metatags dengan prefix og
    $metas = $xpath->query('//*/meta[starts-with(@property, \'og:\')]');

    $og = array();

    foreach($metas as $meta){
        # ambil nama properti tanpa menyertakan og
        $property = str_replace('og:', '', $meta->getAttribute('property'));
        # ambil konten dari properti tersebut
        $content = $meta->getAttribute('content');
        $og[$property] = $content;
    }

    return $og;
}

Cara penggunaannya juga sederhana.
berikut ini berbagai contoh mengelola nya.

# Cara penggunaan, cukup masukan url
$og = fetch_og('http://www.jurnalweb.com/5-tips-membangun-website-sendiri/');


echo "<pre>";
print_r($og);
echo "</pre>";
echo "<hr>";

echo $og['title'];
echo "<hr>";

echo "<h1>Data Facebook Jurnalweb.com</h1>";
foreach ($og as $key => $value) {
    echo "<strong>$key:</strong> ".$value;
    echo "<br>";
}

DEMO | Download Script

Silahkan digunakan untuk keperluan yang lebih luas lagi.