Toby Inkster’s Open Graph Protocol Page

See opengraphprotocol.org for an explanation of what Open Graph Protocol is.

I've created three different Open Graph Protocol parsers.

Open Graph Protocol to JSON
A RESTful web service intended for quick page testing (not large-scale/regular use).
RDF-RDFa-Parser
An RDFa parsing library for the Perl programming language. This offers shortcuts for parsing Open Graph Protocol data.
OpenGraphNode.php
A simple Open Graph Protocol parser for PHP (see below for more info).

OpenGraphNode.php

Latest version: 20110224 (ZIP) (Bzip2)

Installation

Copy OpenGraphNode.php and the "arc" folder to your web server.

Requires PHP 5+. (Version 20100427 supports PHP 4.x.)

Basic Usage

include "OpenGraphNode.php";

# Fetch and parse a URL
#
$page = "http://www.rottentomatoes.com/m/oceans_eleven/";
$node = new OpenGraphNode($page);

# Retrieve the title
#
print $node->title . "\n";    # like this
print $node->title() . "\n";  # or with parentheses

# And obviously the above works for other Open Graph Protocol
# properties like "image", "description", etc. For properties
# that contain a hyphen, you'll need to use underscore instead:
#
print $node->street_address . "\n";

# OpenGraphNode uses PHP5's Iterator feature, so you can
# loop through it like an array.
#
foreach ($node as $key => $value) {
	print "$key => $value\n";
}

Advanced Usage

# What if a page has multiple <meta property="og:title"> elements?
#
$titles = $node->title(TRUE);  # return an array
print_r($titles);

# This gets a key=>value array of all properties.
#
$all = $node->All();
print_r($all);

# And this gets a key=>array_of_values array of all properties.
#
$all = $node->All(TRUE);
print_r($all);

# The Open Graph Protocol is based on RDFa, and OpenGraphNode.php
# is powered by a full-fledged RDFa parser. You can access all
# the page's RDFa data if you like!
#
$data = $node->RDFa();

# Return the URL of the page (after following any redirections)
#
$url = $node->Base();

Author

Toby Inkster <http://tobyinkster.co.uk/>.

Licence

Choose your favourite of:

Support / Warranty

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

For support, try the OGP developers' mailing list <http://groups.google.com/group/open-graph-protocol>.


[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[DIR]ogp-20110224/2011-02-24 23:44 -  
[   ]ogp-20110224.zip2011-02-24 23:45 136K 
[   ]ogp-20110131.zip2011-01-31 11:00 136K 
[   ]ogp-20100427.zip2010-04-27 21:23 134K 
[   ]ogp-20110224.tar.bz2011-02-24 23:45 72K 
[   ]ogp-20110131.tar.bz22011-01-31 10:59 72K 
[   ]ogp-20100427.tar.bz22010-04-27 21:23 72K 

Apache/2.4.52 (Ubuntu) Server at buzzword.org.uk Port 443