X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Добавить ответ в эту тему
> Вопрос по php функции, Снова Woocomerce wl all import
KM_
KM_
Topic Starter сообщение 15.11.2021, 21:24; Ответить: KM_
Сообщение #1


Всем привет, подскажите как реализовать функцию для метки товара (для плагина импорта товаров WP ALL IMPORT)

Есть поле {cf_cvet[1]} у него значения могут быть такие:

#ffffff|Белый|,#474747|Темно-серый|,#9e6a42|Светло-коричневый| и т.д. (запятая разделяет метки товара)

Как сделать функцию которая будет менять "#ffffff|Белый|" на "Белый"

Или простой убирать все латинские буквы, | и #

Вот такая функция работает, но возвращает только значение "Темно-серый", то что с запятыми удаляет =( Как быть?

Код
function correct_color($cf_cvet) {
    if ($cf_cvet = "#474747|Темно-серый|") {
        return "Темно-серый";
    }
    }


Сообщение отредактировал KM_ - 15.11.2021, 20:08


--------------------
Тексты для сайта беру тут, недорого и качественно
Лучший виртуальный хостинг тут с онлайн поддержкой!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kev
kev
сообщение 16.11.2021, 0:00; Ответить: kev
Сообщение #2


KM_,

Если знаете все возможные варианты, то можете заменить


function correct_color($cf_cvet) {

$search = array("#ffffff|Белый|", "#474747|Темно-серый", "#9e6a42|Светло-коричневый|");
$replace = array("Белый", "Темно-серый", "Светло-коричневый");

$result = str_replace($search, $replace, $cf_cvet);

return $replace;
}


Вернет разделенный запятыми цвета. Это из того, как я понял вашу задачу =)




--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
KM_
KM_
Topic Starter сообщение 16.11.2021, 12:35; Ответить: KM_
Сообщение #3


kev,

Да поняли думаю правильно), нужно вернуть просто цвета через запятую. И список цветов хоть и длинный (около 100) но известный

Применил эту функцию, возвращает просто "Array"

upd, понял, возвращать то нужно не $replace, а $result ))

На соседнем форуме еще вариант посоветовали, удобный, хотя и не очень понял как работает))

На выходе список без символов, цифр и латинских букв

Код
function correct_color($cf_cvet) {
    $colors =  explode(",", $cf_cvet);
    $colors_rus = array_map(function($c){ return explode("|", $c)[1]; }, $colors);
    
    return implode(", ", $colors_rus);
}


Сообщение отредактировал KM_ - 16.11.2021, 11:31


--------------------
Тексты для сайта беру тут, недорого и качественно
Лучший виртуальный хостинг тут с онлайн поддержкой!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
thisfil
thisfil
сообщение 17.11.2021, 10:14; Ответить: thisfil
Сообщение #4


KM_,
Он будет работать, только если в исходной строке #ffffff|Белый|,#474747|Темно-серый|,#9e6a42|Светло-коричневый| цвет будет всегда на втором месте, а откуда берется вообще эта строка?
Если ее генерирует плагин, вы уверены, что он подсунет туда только информацию по цветам, а не остальные параметры товара?

Сообщение отредактировал thisfil - 17.11.2021, 10:17
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Добавить ответ в эту тему
Быстрый ответ
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
48 qpPeW 33672 8.1.2022, 14:57
автор: qpPeW
Открытая тема (нет новых ответов) Вопрос по woocommerce
3 Palundra 984 18.12.2021, 10:37
автор: Nell
Открытая тема (нет новых ответов) Общий вопрос по CMS Битрикс
Все ли юзают лицензию?
11 KM_ 2162 31.10.2021, 20:24
автор: LigaGiga
Открытая тема (нет новых ответов) Вопрос по серверу на VPS
Найти причину почему сайт перестал работать
26 Gera 3684 29.10.2021, 15:34
автор: Gera
Открытая тема (нет новых ответов) Регулярка php для поиска вируса
3 dspu 1788 22.10.2021, 10:27
автор: eugenepetrov2021


 



RSS Текстовая версия Сейчас: 27.1.2022, 22:16
Дизайн