$value){ if($value == $itemMoved) $itemIndex = (int)$index; } $itemAfter = ''; if(isset($orderArray[$itemIndex+1])) $itemAfter = $orderArray[$itemIndex+1]; $doc = new DOMDocument; $doc->load('../db/links.xml'); $xpath = new DOMXpath($doc); // Buffering and deleting moved element foreach($xpath->query('label/link[title = "'.$itemMoved.'"]') as $node) { $buffer = $node; $node->parentNode->removeChild($node); } if($itemAfter != ''){ $searchLabel = $xpath->query('label[@id="'.$label.'"]/link[title = "'.$itemAfter.'"]')->item(0); $searchLabel->parentNode->insertBefore($buffer, $searchLabel); }else{ $searchLabel = $xpath->query('label[@id="'.$label.'"]'); $searchLabel->item(0)->appendChild($buffer); } $doc->save('../db/links.xml');