diff options
-rw-r--r-- | src/Readability.php | 6 | ||||
-rw-r--r-- | test/ReadabilityTest.php | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/Readability.php b/src/Readability.php index 452bf95..48da9a5 100644 --- a/src/Readability.php +++ b/src/Readability.php @@ -471,7 +471,7 @@ class Readability */ if (NodeUtility::hasSinglePNode($node)) { $pNode = $node->getChildren(true)[0]; - $node->replaceChild($pNode, $node); + $node->parentNode->replaceChild($pNode, $node); $node = $pNode; $elementsToScore[] = $node; } elseif (!NodeUtility::hasSingleChildBlockElement($node)) { @@ -853,7 +853,7 @@ class Readability if ($sibling->getContentScore() + $contentBonus >= $siblingScoreThreshold) { $append = true; } elseif ($sibling->tagNameEqualsTo('p')) { - $linkDensity = $this->getLinkDensity($sibling); + $linkDensity = $siblings->getLinkDensity(); $nodeContent = $sibling->getTextContent(true); if (mb_strlen($nodeContent) > 80 && $linkDensity < 0.25) { @@ -873,7 +873,7 @@ class Readability * Turn it into a div so it doesn't get filtered out later by accident. */ - NodeUtility::setNodeTag($siblings, 'div'); + NodeUtility::setNodeTag($sibling, 'div'); } $import = $articleContent->importNode($sibling, true); diff --git a/test/ReadabilityTest.php b/test/ReadabilityTest.php index d019192..93214ae 100644 --- a/test/ReadabilityTest.php +++ b/test/ReadabilityTest.php @@ -48,9 +48,16 @@ class ReadabilityTest extends \PHPUnit_Framework_TestCase if ($config) { $options = array_merge($options, $config); } + $configuration = new Configuration(); + + foreach($options as $key => $value){ + $name = 'set' . $key; + $configuration->$name($value); + } - $readability = new HTMLParser($options); + $readability = new Readability($configuration); $result = $readability->parse($html); + $this->assertEquals($expectedImages, json_encode($result['images'])); } |