Добрый вечер, работаю с xml файлом, формат: <id>226724117</id> с помощью preg_match_all вычленяю номер id, после работы с ним нужно удалить строку, как ее удалить вместе с <id> </id>?
<?php $srt = '161379734'; $fl = "inc/friends1.xml"; $rep = "\n"; $sr = file($fl); $file = str_replace($srt,$rep,$sr); $count = count($file); $fp = fopen($fl,"w"); for($i=0;$i<$count;$i++) fwrite($fp,$file[$i]); fclose($fp); ?> как добавить в replace помимо $srt еще и <id> </id> чтобы не выдавало ошибок и удаляло, не знаю, перепробовал много способов
PHP: <?php $user_id = '16137'; $content = file_get_contents('inc/friends1.xml'); $content = str_replace("<id>$user_id</id>", "\n", $content); file_put_contets($content); Но кажется вам я рекомендовал воспользоваться утилитой diff, почему пренебрегли советом?
замените "\n" на "" возможно также "...</td>" на "...</td>\n" плюс не забывайте про возможный \r ps на самом деле пользоваться утилитой diff одно удовольствие: загоняешь на вход два файла, на выходе получаешь разницу. на мой взгляд достаточно просто