Fixes #512: retrieving title didn't match the first closing tag

This commit is contained in:
ArthurHoaro 2016-03-08 10:00:53 +01:00
parent 890afc32f7
commit 68ea1d2b30
2 changed files with 3 additions and 1 deletions

View file

@ -9,7 +9,7 @@
*/ */
function html_extract_title($html) function html_extract_title($html)
{ {
if (preg_match('!<title>(.*)</title>!is', $html, $matches)) { if (preg_match('!<title>(.*?)</title>!is', $html, $matches)) {
return trim(str_replace("\n", ' ', $matches[1])); return trim(str_replace("\n", ' ', $matches[1]));
} }
return false; return false;

View file

@ -15,6 +15,8 @@ public function testHtmlExtractExistentTitle()
$title = 'Read me please.'; $title = 'Read me please.';
$html = '<html><meta>stuff</meta><title>'. $title .'</title></html>'; $html = '<html><meta>stuff</meta><title>'. $title .'</title></html>';
$this->assertEquals($title, html_extract_title($html)); $this->assertEquals($title, html_extract_title($html));
$html = '<html><title>'. $title .'</title>blabla<title>another</title></html>';
$this->assertEquals($title, html_extract_title($html));
} }
/** /**