]*?href\s?=\s?[\"|'](.+?)[\"|'][^>]*>/i"); class TitleGrabber { var $site_host; var $pattern_anchor; var $wpdb; function TitleGrabber($site_host, $pattern_anchor, &$wpdb) { $this->site_host = $site_host; $this->pattern_anchor = $pattern_anchor; $this->wpdb = & $wpdb; add_filter('publish_post', array(&$this, 'changeLinks')); } function changeLinks($id) { $text = $this->wpdb->get_var("SELECT post_content FROM {$this->wpdb->posts} WHERE ID = $id"); $newText = addslashes(preg_replace_callback($this->pattern_anchor, array(&$this, 'changeLink'), stripslashes($text))); $this->wpdb->query("UPDATE {$this->wpdb->posts} SET post_content = '$newText' WHERE ID = $id"); return $id; } function grabTitle($url) { $filetypes = array(".zip", ".png", ".gif", ".jpg", ".rar", ".exe", ".txt", ".pdf", ".psd"); if(strpos($url, $filetypes)) { return $url; } $pURL = parse_url($url); if (empty($pURL['host'])) { return $url; } if (empty($pURL['path'])) { $pURL['path'] = '/'; } if (empty($pURL['query'])) { $document = $pURL['path']; } else { $document = $pURL['path'] . '?' . $pURL['query']; } $fp = fsockopen($pURL['host'], 80, $errno, $errstr, 8); if (!$fp) { return $url; } else { $out = "GET $document HTTP/1.1\r\n"; $out .= "Host: {$pURL['host']}\r\n"; $out .= "Connection: Close\r\n\r\n"; $received = ''; fwrite($fp, $out); while (!feof($fp)) { $received .= fgets($fp, 128); } fclose($fp); } if (!preg_match('~