preg_match_all משמש כשיש לך יותר מהתאמה אחת בסטרינג. מספיק לעבוד עם preg_match מאחר ואני לא בטוח שלא יהיה title פעמיים.
זה אמור לעבוד:
PHP קוד:
$string = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>fdfdfdfd</title> </head> <body> <p>Novexpharm is </body></html>';
preg_match( '#<title>(.*)</title>#Ui', $string, $matches );
var_dump( $matches );