diff options
author | ArthurHoaro <arthur@hoa.ro> | 2016-03-08 10:00:53 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2016-03-08 10:00:53 +0100 |
commit | 68ea1d2b30db8ab295e47e9ac5f6c8e81676caf7 (patch) | |
tree | 3be406a48569c02a17584de99982dedd25627830 | |
parent | 890afc32f744859d11b97eb26ed5c030af9b4145 (diff) | |
download | Shaarli-68ea1d2b30db8ab295e47e9ac5f6c8e81676caf7.tar.gz Shaarli-68ea1d2b30db8ab295e47e9ac5f6c8e81676caf7.tar.zst Shaarli-68ea1d2b30db8ab295e47e9ac5f6c8e81676caf7.zip |
Fixes #512: retrieving title didn't match the first closing tag
-rw-r--r-- | application/LinkUtils.php | 2 | ||||
-rw-r--r-- | tests/LinkUtilsTest.php | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/application/LinkUtils.php b/application/LinkUtils.php index 26dd6b67..d8dc8b5e 100644 --- a/application/LinkUtils.php +++ b/application/LinkUtils.php | |||
@@ -9,7 +9,7 @@ | |||
9 | */ | 9 | */ |
10 | function html_extract_title($html) | 10 | function html_extract_title($html) |
11 | { | 11 | { |
12 | if (preg_match('!<title>(.*)</title>!is', $html, $matches)) { | 12 | if (preg_match('!<title>(.*?)</title>!is', $html, $matches)) { |
13 | return trim(str_replace("\n", ' ', $matches[1])); | 13 | return trim(str_replace("\n", ' ', $matches[1])); |
14 | } | 14 | } |
15 | return false; | 15 | return false; |
diff --git a/tests/LinkUtilsTest.php b/tests/LinkUtilsTest.php index c2257590..609a80cb 100644 --- a/tests/LinkUtilsTest.php +++ b/tests/LinkUtilsTest.php | |||
@@ -15,6 +15,8 @@ class LinkUtilsTest extends PHPUnit_Framework_TestCase | |||
15 | $title = 'Read me please.'; | 15 | $title = 'Read me please.'; |
16 | $html = '<html><meta>stuff</meta><title>'. $title .'</title></html>'; | 16 | $html = '<html><meta>stuff</meta><title>'. $title .'</title></html>'; |
17 | $this->assertEquals($title, html_extract_title($html)); | 17 | $this->assertEquals($title, html_extract_title($html)); |
18 | $html = '<html><title>'. $title .'</title>blabla<title>another</title></html>'; | ||
19 | $this->assertEquals($title, html_extract_title($html)); | ||
18 | } | 20 | } |
19 | 21 | ||
20 | /** | 22 | /** |