summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Readability.php6
-rw-r--r--test/ReadabilityTest.php9
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']));
}