Дописать PHP код
250 UAHЕсть xml прайс. Настроено изменение или удаление характеристик товара, но не знаю как это сделать с определенными условиями.
Например один из множества товаров:
<offer id="6208" available="true">
<currencyId>UAH</currencyId>
<categoryId>11111</categoryId>
<picture>http://133.243.123.83/Rozetka/Photo/6208.jpeg</picture>
<name>Туфли Мальвы 21,3 см 33 р Темно-синие Ш-240</name>
<description>
<![CDATA[Продукция фабрики Мальвы.]]>
</description>
<price>292.8</price>
<stock_quantity>1</stock_quantity>
<vendor>Мальвы</vendor>
<param name="Размер">33</param>
<param name="Страна регистрации бренда">Украина</param>
<param name="Цвет">Темно-синий</param>
<param name="Артикул">Ш-240</param>
</offer>
Нужно:
1. Изменить значение тегов <categoryId> (например 11111 на 22222), но только а) в товарах определенной категории (например 11111); б) в товарах у которых в теге <name> есть слово "Туфли"; в) в теге <param name="Цвет"> есть слово "Темно-синий"
2. Удалить все товары, с available="false" (например <offer id="6209" available="false">)
3. Округлить значение в тегах <price> (292.8 на 293)
4. Добавить <keywords>Ключевое_слово_1, Ключевое_слово_2</keywords> но в товары с определенным <categoryId> (например 11111 или 22222)
5. Изменить название тега (например <param name="Размер"> на <param name="Супер размер">33</param>) но в товарах с определенным <categoryId> (например 11111 или 22222)
6. Изменить значение в теге <param name="Цвет"> (например с "Темно-синий" на "Черный") но в товарах с определенным <categoryId> (например 11111 или 22222)
Я использую несколько рабочих формул (их можно использовать в помощь):
1. Удаление строки: $find=["/<name>Львёнок<\/name>/']; $res_prom = preg_replace($find,"",$res_prom);
2. Удаление тега с любым содержанием: $res_prom = preg_replace('/\s?<compan[^>]*?>.*?<\/compan>\s?/si','', $res_prom);
3. Удаление тега с любым содержанием2: $res_prom = preg_replace('#<param\b[^>]+\bname\s*=\s*[\'\"]Артикул[\'\"][^>]*>([\s\S]*?)</param>#','', $res_prom);
4. Удаление тега с любым содержанием3: $res_prom = preg_replace('/<param name="Артикулы">.*.<\/param>/',"",$res_prom);
5. Замена определенных категорий: $file = file('prom_ids.txt'); foreach($file as $ids) { if (!trim($ids)) break; $id = trim(explode(' ', $ids)[0]); $id_r = trim(explode(' ', $ids)[1]); $res_prom = str_replace('<categoryId>'.$id.'<', '<categoryId>'.$id_r.'<', $res_prom);}
В файле prom_ids.txt в каждой строчке категории для смены через пробел (например 11111 22222)
6. Замена тегов: $res_prom = preg_replace("!<categories>(.*?)</categories>!si","<catalog>\\1</catalog>",$res_prom);
7. Замена простая: $res_prom = str_replace("offer","item",$res_prom);
8. Замена тегов2: $pattern_prom = '#<param\b[^>]+\bname\s*=\s*[\'\"]Артикул[\'\"][^>]*>([\s\S]*?)</param>#'; $res_prom = preg_replace_callback($pattern_prom, function ($result_prom) use ($values) { if (isset($result_prom[1])) { return '<vendorCode>'.$result_prom[1].'</vendorCode>'; }}, $res_prom);
9. Замена цен: $pattern_prom = '/<price>(.*)<\/price>(\s+)<s/'; $res_prom = preg_replace_callback($pattern_prom, function ($result_prom) use ($values) { if (isset($result_prom[1])) {return '<price>'.$result_prom[1]* 1.2 .'</price> <s'; }}, $res_prom);
Думаю, что для знающего PHP, сдесь работы на около 10 минут.
Отзыв заказчика о сотрудничестве с Василем Заболотним
Дописать PHP кодОчень благодарен фрилансеру за терпение, потраченое время и проделанную работу. В результате мой проэкт полностью выполнен и я доволен)
Отзыв фрилансера о сотрудничестве с Анатолием Скибой
Дописать PHP кодИнтересный проект, Анатолий всегда на связи, приятный в общении человек.
Рад сотрудничеству!
-
Добрый день, Анатолий!
Есть данная работа
Обращайтесь - буду рад сотрудничеству
-
45 Здравствуйте. Готов выполнить задание. Выполню за кратчайшие сроки
-
Пересобирете данный файл в новый но с задаными условиями, например с той же конструкцией switch
-
Прочитайте мануал по php xml и будет вам счастье
-
По хорошему нужно писать парсить xml и делать изменения на уровне объекта, а не регулярными выражениями. Могу реализовать подобное на java
-
Актуальные фриланс-проекты в категории PHP
Разработка веб-сайта WordPress
1002 UAH
|
Сломалась корзина WooCommerce (WordPress) — не добавляет товар и не открывается страница корзиныНа сайте интернет-магазина https://www.dobryi-gospodar.com/ (WordPress + WooCommerce) полностью перестала работать функция оформления заказа. При нажатии на кнопку "Добавить в корзину" (как в карточке товара, так и в каталоге) начинается длительная загрузка (индикатор крутится),… CMS, PHP ∙ 12 часов 36 минут назад ∙ 47 ставок |
Функция поиска товаров по изображениюНеобходимо разработать и интегрировать на сайт функциюпоиска товаров по изображению.Что нужно реализоватьКнопка«Поиск по фото»на сайте.Загрузка изображения пользователем: JPG.Поиск визуально похожих товаров в каталоге.Вывод результатов в виде стандартных карточек товаров: фото,… PHP, Веб-программирование ∙ 20 часов 2 минуты назад ∙ 40 ставок |
Парсер expireddomains.net
5000 UAH
Нужен парсер expireddomains.net на сайте нужно сначала залогиниться, проблема в том что блокирует ИП при попытке парсить данные, нужно парсить тематические домены по списку ключевых слов, кто не уверен в своих силах не пишите PHP, Веб-программирование ∙ 2 дня 18 часов назад ∙ 51 ставка |
Интеграция платежного сервиса с Sales Force
3104 UAH
На сайте стоит виджет платежной системы, его нужно интегрировать с asles fоrce что бы все требуемые параметры видели на стороне salec force Нужно сдлеать так, что бы все платежи и подписки кнтролировались через salecforec PHP, Веб-программирование ∙ 2 дня 22 часа назад ∙ 41 ставка |