/* /big funky fixes */
    // autodetect Trackback
    $fp = fopen($popupurl, "r");
    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;
예제 #2
0
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;
 }