[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: замена текста в xml - PHP
wizand
Добрый день!

Подскажите, почему этот скрипт не работает:


$Replacement = file('zamena.txt'); // содержит "<category id="3" parentId="0">3</category><category id="4" parentId="0">4</category>"
if ($Replacement===false) {
echo 'Не удалось прочитать файл с заменами';
$Replacement = array();
}

$text = file_get_contents('source.xml');
$result = preg_replace_callback('~(<categories>)([^<]+)(</categories>)~i', 'my_replace_callback', $text);
file_put_contents('result.xml', $result, LOCK_EX);

function my_replace_callback($m) {
global $Replacement;
static $Index = 0;
if (isset($Replacement[$Index])) $m[2] = htmlspecialchars($Replacement[$Index]);
$Index++;
return $m[1] . $m[2] . $m[3];
}


Есть файл source.xml, в нем в теге <categories></categories> находятся 20000 категорий с названиями.




Цитата
<categories></categories><category id="1" parentId="0">1</category>
<category id="2" parentId="0">2</category></categories>



Мне нужно, чтобы скрипт в этом файле вместо содержимого <categories></categories>, вставлял другое содержимое (20-30 категорий) из тестового файла zamena.txt, тоже в <categories></categories>

Сейчас возвращается ошибка "Не удалось прочитать файл с заменами"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.