if ($fp) { $tb_contents = ""; do { $tb_data = fread($fp, 8192); if (strlen($tb_data) == 0) { break; } $tb_contents .= $tb_data; } while (true); fclose($fp); if (preg_match_all('#<rdf:RDF[^>]*>(.*?)</rdf:RDF>#si', $tb_contents, $matches, PREG_PATTERN_ORDER)) { $tb_urls = array(); $obj = new TrackBack_XML(); $tb_body = $matches[1][0]; echo $tb_body; list($tb_url, $tb_url_nc) = $obj->parse($tb_body, $popupurl); if ($tb_url !== FALSE) { $trackback_url = $tb_url; } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>WordPress > Bookmarklet</title> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $blog_charset; ?> " /> <link rel="stylesheet" href="wp-admin.css" type="text/css" />
function tb_get_url($url) { global $use_proxy, $no_proxy; // Don't go across HTTP-proxy server $parse_url = parse_url($url); if (empty($parse_url['host']) || $use_proxy && !in_the_net($no_proxy, $parse_url['host'])) { return ''; } $data = http_request($url); if ($data['rc'] !== 200) { return ''; } $matches = array(); if (!preg_match_all('#<rdf:RDF[^>]*xmlns:trackback=[^>]*>(.*?)</rdf:RDF>#si', $data['data'], $matches, PREG_PATTERN_ORDER)) { return ''; } $obj = new TrackBack_XML(); foreach ($matches[1] as $body) { $tb_url = $obj->parse($body, $url); if ($tb_url !== FALSE) { return $tb_url; } } return ''; }
function get($url) { if ($this->get_content($url)) { $obj = new TrackBack_XML(); $this->tb_urls = array(); $this->tb_url = ""; foreach ($this->xml_parts as $xmlpart) { $tb_obj = $obj->parse($xmlpart, $this->url); $this->tb_urls[] = $tb_obj; if ($tb_obj['match']) { $this->tb_url = $tb_obj['url']; } } } return $this->tb_url; }