diff --git a/Tests/HtmlPageCrawlerTest.php b/Tests/HtmlPageCrawlerTest.php index aebdefa..e9510e0 100644 --- a/Tests/HtmlPageCrawlerTest.php +++ b/Tests/HtmlPageCrawlerTest.php @@ -260,6 +260,10 @@ public function testPrepend() $c = new HtmlPageCrawler('
'); $c->filter('#content')->prepend(new HtmlPageCrawler('

Text before h1

and more text before

')); $this->assertEquals('

Text before h1

and more text before

', $c->saveHTML()); + + $c = new HtmlPageCrawler('
Prepend Self
'); + $c->filter('#content')->prepend($c->filter('span')); + $this->assertEquals('
Prepend Self
', $c->saveHTML()); } /** diff --git a/src/HtmlPageCrawler.php b/src/HtmlPageCrawler.php index e91cefc..e59c3e5 100644 --- a/src/HtmlPageCrawler.php +++ b/src/HtmlPageCrawler.php @@ -483,7 +483,7 @@ public function prepend($content) $newnode = static::importNewnode($newnode, $node, $i); if ($refnode === null) { $node->appendChild($newnode); - } else { + } else if ($refnode !== $newnode) { $node->insertBefore($newnode, $refnode); } $newnodes[] = $newnode;