Script PHP que pode extrair texto entre várias tags de título de determinado site?

Olá, encontrei alguns e tentei poucos, mas nada realmente funciona para mim. O melhor que encontrei foi capaz de extrair o título da página, mas há muitas tags de título na página e ela extraiu apenas a primeira. Eu preciso dele para extrair todos os títulos. Se também pudesse, é este código:

<?php
$text = file_get_contents("http://www.example.com");
if (preg_match('~<title[^>]*>(.*?)</title>~si', $text, $body)){
echo $body[1];
}

?> 

questionAnswers(4)

yourAnswerToTheQuestion