getNamespaces(true); // Upewniamy się, że mamy namespace "g" if (!isset($namespaces['g'])) { die('W pliku XML nie znaleziono przestrzeni nazw "g".'); } // --- 3. Podmiana domeny + zamiana price <-> sale_price --- foreach ($xml->channel->item as $item) { // Dzieci w przestrzeni nazw g $gChildren = $item->children($namespaces['g']); // --- Podmiana linku --- if (isset($gChildren->link)) { $currentLink = (string) $gChildren->link; $newLink = str_replace($oldDomain, $newDomain, $currentLink); $gChildren->link = $newLink; } // --- Zamiana price <-> sale_price jeśli sale_price istnieje --- if (isset($gChildren->sale_price) && trim((string)$gChildren->sale_price) !== '') { $originalPrice = (string)$gChildren->price; $salePrice = (string)$gChildren->sale_price; // Zamiana wartości $gChildren->price = $salePrice; $gChildren->sale_price = $originalPrice; } if (isset($gChildren->identifier_exists)) { $gChildren->identifier_exists = 'true'; } $gChildren->google_product_category = 'Health & Beauty > Personal Care > Cosmetics'; // --- Usuwanie emoji z opisu --- if (isset($gChildren->description)) { $cleanDescription = removeEmoji((string)$gChildren->description); $gChildren->description = $cleanDescription; } } // --- 4. Zapis zmodyfikowanego XML na serwerze --- if ($xml->asXML($outputFile) === false) { die('Nie udało się zapisać zmodyfikowanego pliku XML na serwerze.'); } // --- 5. Zbudowanie URL do zapisanego pliku i wyświetlenie go --- $scheme = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http'; $host = $_SERVER['HTTP_HOST'] ?? 'localhost'; $path = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); $fileUrl = $scheme . '://' . $host . $path . '/ibra-makeup_feed.xml'; echo 'Nowy plik XML został zapisany tutaj: ' . htmlspecialchars($fileUrl, ENT_QUOTES, 'UTF-8') . '';