Skip to content

Commit 99940d9

Browse files
committed
fix another case
1 parent 5710179 commit 99940d9

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/PHPHtmlParser/Dom/InnerNode.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,10 +236,20 @@ public function isChild($id)
236236
public function replaceChild($childId, AbstractNode $newChild)
237237
{
238238
$oldChild = $this->children[$childId];
239+
$newChild->prev = $oldChild['prev'];
240+
$newChild->next = $oldChild['next'];
239241
unset($oldChild['node']);
240242
$oldChild['node'] = $newChild;
241243
unset($this->children[$childId]);
242244
$this->children[$newChild->id()] = $oldChild;
245+
246+
if ($newChild->prev && isset($this->children[$newChild->prev])) {
247+
$this->children[$newChild->prev]['next'] = $newChild->id();
248+
}
249+
250+
if ($newChild->next && isset($this->children[$newChild->next])) {
251+
$this->children[$newChild->next]['prev'] = $newChild->id();
252+
}
243253
}
244254

245255
/**

0 commit comments

Comments
 (0)