Don’t know if this works but it should,
function get_page_title($url){
if( !class_exists( 'WP_Http' ) )
include_once( ABSPATH . WPINC. '/class-http.php' );
$request = new WP_Http;
$result = $request->request( $url );
if( is_wp_error( $result ) )
return false;
if( preg_match("#<title>(.+)<\/title>#iU", $result, $t)) {
return trim($t[1]);
} else {
return false;
}
}
add_filter('the_content','auto_add_title_to_link');
function auto_add_title_to_link($content){
$html = new DomDocument;
$html->loadHTML($content);
$html->preserveWhiteSpace = false;
//get all links
foreach($html->getElementsByTagName('a') as $link) {
//make sure it dosent have a title
if ($link->getAttribute('title') == '' || empty($link->getAttribute('title')))
$links[] = $link->getAttribute('href');
}
//get title and add it
foreach ($links as $link){
$title = get_page_title($link);
if (false !== $title){
$replace = $link.' title="'.$title.'"';
$content = str_replace($link,$replace,$content);
}
}
return $content;
}