]>
Commit | Line | Data |
---|---|---|
b9523a0b NL |
1 | <?php |
2 | ||
3 | class PocheReadability extends Readability | |
4 | { | |
5 | /** | |
6 | * Get the article title as an H1. | |
7 | * | |
8 | * @return DOMElement | |
9 | */ | |
10 | protected function getArticleTitle() { | |
11 | $curTitle = ''; | |
12 | $origTitle = ''; | |
13 | ||
14 | try { | |
15 | $curTitle = $origTitle = $this->getInnerText($this->dom->getElementsByTagName('title')->item(0)); | |
16 | } catch(Exception $e) {} | |
17 | ||
18 | if (preg_match('/ [\|\-] /', $curTitle)) | |
19 | { | |
20 | $curTitle = preg_replace('/(.*)[\|\-] .*/i', '$1', $origTitle); | |
21 | ||
22 | if (count(explode(' ', $curTitle)) < 3) { | |
23 | $curTitle = preg_replace('/[^\|\-]*[\|\-](.*)/i', '$1', $origTitle); | |
24 | } | |
25 | } | |
26 | else if(strlen($curTitle) > 150 || strlen($curTitle) < 15) | |
27 | { | |
28 | $hOnes = $this->dom->getElementsByTagName('h1'); | |
29 | if($hOnes->length == 1) | |
30 | { | |
31 | $curTitle = $this->getInnerText($hOnes->item(0)); | |
32 | } | |
33 | } | |
34 | ||
35 | $curTitle = trim($curTitle); | |
36 | ||
37 | if (count(explode(' ', $curTitle)) <= 4) { | |
38 | $curTitle = $origTitle; | |
39 | } | |
40 | ||
41 | $articleTitle = $this->dom->createElement('h1'); | |
42 | $articleTitle->innerHTML = $curTitle; | |
43 | ||
44 | return $articleTitle; | |
45 | } | |
46 | } |