Замените строку с конвейером и косой чертой в PHP с массивом и JSON

Я хочу использовать функцию PHP для переименования «категорий» в приложении интернет-магазина, но не могу заставить его работать. Я думаю, что это из-за «/» и «|» персонажи. Пробовал убегать, пытался использовать ‘вместо’, пытался использовать скобки ([строка]), но я просто не могу понять. Пожалуйста, помогите мне, я в отчаянии и пробовал / ошибался часами …

Желаемое поведение должно быть:
1) Посмотрите оригинальную категорию (находится в строке $ cat)
2) Измените его с помощью массивов, указанных в $ change_cat
3) Выходной скорректированная категория

$ Cat — это строка, содержащая «оригинальный» путь к категории. Это может быть: «Verzorging | Тайбоксен / Бинты | Бешермерс / Бинты | Боксен / Бинты | Кикбоксен / Бинты», например. Эта функция предназначена для изменения категорий в XML-ленте на платформе WordPress (миграция в интернет-магазине).

Это мой код:

function newvswcategory($cat) {
$change_cat = json_encode(array('Verzorging|Thaiboksen/Bandages|Beschermers/Bandages|Boksen/Bandages|Kickboksen/Bandages' => 'Vechtsporten|Bandages', 'Verzorging|Accessoires|Kickboksen|Boksen' => 'Overige', 'Verzorging' => 'Fitnessartikelen|Overige kleinfitness');
if (empty($change_category))
{
$change_category = "Overige";
return $change_category;
}
else
{
return $change_category;
}
}

Мой старый код использовал не JSON, а альтернативный метод, думал, что JSON быстрее, но мне просто нужно, чтобы он работал, оригинальный код был:

function vswcategory($cat) {
$aanpassen = array("Verzorging|Thaiboksen/Bandages|Beschermers/Bandages|Boksen/Bandages|Kickboksen/Bandages" => "Vechtsporten|Bandages", "Verzorging|Accessoires|Kickboksen|Boksen" => "Overige", "Verzorging" => "Fitnessartikelen|Overige kleinfitness", "Trainingsartikelen|Trainingsartikelen/Tatami matten" => "Vechtsporten|Diverse budo", "Trainingsartikelen|Trainingsartikelen/Stoot- en trapkussens" => "Vechtsporten|Trap / stootkussens", "Trainingsartikelen|Trainingsartikelen/Hardloopspullen|Accessoires|Fitnessartikelen/Hardloopartikelen" => "Fitnessartikelen|Hardloopartikelen", "Trainingsartikelen|Trainingsartikelen/Focus Mitts" => "Vechtsporten|Trap / stootkussens", "Trainingsartikelen|Trainingsartikelen/Dumbells" => "Dumbells", "Trainingsartikelen|Kickboksen/Kickboks trainingsartikelen|Fitnessartikelen/Opdruksteunen" => "Fitnessartikelen|Opdruksteunen", "Trainingsartikelen|Fitnessartikelen/Gewichten|Trainingsartikelen/Gewichten" => "Vechtsporten|Diverse Trainingsartikelen", "Trainingsartikelen/Stoot- en trapkussens|Kickboksen/Stootkussens en Pads|Boksen/Stootkussens en pads|Trainingsartikelen/Focus Mitts" => "Vechtsporten|Trap / stootkussens", "Trainingsartikelen/Stoot- en trapkussens|Boksen/Stootkussens en pads|Kickboksen/Stootkussens en Pads|Trainingsartikelen/Focus Mitts" => "Vechtsporten|Trap / stootkussens", "Trainingsartikelen/Stoot- en trapkussens" => "Vechtsporten|Trap / stootkussens", "Trainingsartikelen/Stoelfiets" => "Fitnessapparaten|Fietstrainers", "Trainingsartikelen/Steunen en bevestigingsmaterialen|Trainingsartikelen/Bokszakken" => "Vechtsporten|Bokszakken", "Trainingsartikelen/Steunen en bevestigingsmaterialen" => "Vechtsporten|Bokszakken|Bevestigingsmaterialen voor bokszakken", "Trainingsartikelen/Springtouwen|Fitnessartikelen/Springtouwen" => "Fitnessartikelen|Springtouwen", "Trainingsartikelen/Springtouwen" => "Fitnessartikelen|Springtouwen", "Trainingsartikelen/Knijphalter|Fitnessartikelen/Handknijpers" => "Fitnessartikelen|Knijphalters", "Trainingsartikelen/Hardloopspullen" => "Fitnessartikelen|Hardloopartikelen", "Trainingsartikelen/Gewichten|Fitnessartikelen/Gewichten" => "Fitnessartikelen|Overige kleinfitness", "Trainingsartikelen/Focus Mitts|Boksen/Stootkussens en pads|Kickboksen/Kickboks trainingsartikelen|Kickboksen/Stootkussens en Pads" => "Vechtsporten|Trap / stootkussens", "Trainingsartikelen/Focus Mitts" => "Vechtsporten|Trap / stootkussens", "Trainingsartikelen/Dumbells|Accessoires|Overige artikelen" => "Dumbells", "Trainingsartikelen/Bokszakken|Trainingsartikelen/Boksballen" => "Vechtsporten|Bokszakken", "Trainingsartikelen/Bokszakken" => "Vechtsporten|Bokszakken", "Trainingsartikelen/Boksballen" => "Vechtsporten|Bokszakken", "Trainingsartikelen" => "Vechtsporten|Diverse Trainingsartikelen", "Thaiboksen|Thaiboksen/Muay Thai Shorts|Kickboksen/Kickboksbroekjes|Kickboksen/Kickboksbroekjes voor de jeugd" => "Vechtsporten|Kickboksbroekjes", "Thaiboksen|Thaiboksen/Muay Thai Shorts|Kickboksen/Kickboksbroekjes" => "Vechtsporten|Kickboksbroekjes", "Thaiboksen|Thaiboksen/Muay Thai Shorts|Kickboksen/Kickboks kleding|Kickboksen/Kickboksbroekjes" => "Vechtsporten|Kickboksbroekjes", "Thaiboksen|Beschermers/Bokshandschoenen|Kickboksen/Kickbokshandschoenen" => "Vechtsporten|Bokshandschoenen", "Thaiboksen/Thaiboks handschoenen|Verzorging|Kickboksen/Bandages|Boksen/Bandages|Thaiboksen/Bandages|Beschermers/Bandages" => "Vechtsporten|Bandages", "Thaiboksen/Thaiboks handschoenen|Thaiboksen/Bandages|Beschermers/Bandages|Boksen/Bandages|Kickboksen/Bandages|Boksen/Binnen handschoenen|Kickboksen/Binnen handschoenen" => "Vechtsporten|Binnenhandschoenen", "Thaiboksen/Thaiboks handschoenen|Boksen/Binnen handschoenen|Kickboksen/Binnen handschoenen|Beschermers/Bandages" => "Vechtsporten|Bandages", "Thaiboksen/Thaiboks beschermers|Kickboksen/Kickboks beschermers|Boksen/Boksbeschermers|Beschermers/Scheen- en wreefbeschermers|Kickboksen/Kickboks beschermers/Scheenbeschermers kickboksen|SALE" => "Vechtsporten|Scheenbeschermers", "Thaiboksen/Thaiboks beschermers|Beschermers|Beschermers/Borstbeschermers|Kickboksen/Kickboks beschermers/Borstbeschermers" => "Vechtsporten|Diverse ringsporten", "Thaiboksen/Thaiboks beschermers|Beschermers/Gebitsbescherming|Beschermers|Boksen/Boksbeschermers|Kickboksen/Kickboks beschermers/Gebitsbescherming|Mixed Martial Arts (MMA)/MMA beschermers|Taekwondo/Taekwondo beschermers|Karate/Karate beschermers" => "Vechtsporten|Gebitsbeschermers", "Thaiboksen/Muay Thai Shorts|Thaiboksen|Kickboksen/Kickboksbroekjes|SALE" => "Vechtsporten|Kickboksbroekjes", "Thaiboksen/Muay Thai Shorts|Thaiboksen|Kickboksen/Kickboksbroekjes" => "Vechtsporten|Kickboksbroekjes", "Thaiboksen/Muay Thai Shorts|Kickboksen/Kickboksbroekjes|Kickboksen/Kickboksbroekjes voor de jeugd" => "Vechtsporten|Kickboksbroekjes", "Thaiboksen/Muay Thai Shorts|Kickboksen/Kickboksbroekjes" => "Vechtsporten|Kickboksbroekjes", "Thaiboksen/Bandages|Beschermers/Bandages|Boksen/Bandages|Kickboksen/Bandages|Verzorging|Kerstcadeau winkel" => "Vechtsporten|Bandages", "Taekwondo|Taekwondo/Taekwondo pakken" => "Vechtsporten|Budokleding", "Taekwondo|Taekwondo/Taekwondo beschermers|Krav Maga" => "Vechtsporten|Diverse budo", "Taekwondo|Taekwondo/Taekwondo beschermers" => "Vechtsporten|Diverse budo", "Taekwondo|Taekwondo/Taekwondo banden|Banden" => "Vechtsporten|Budokleding");
$change_category = strtr($cat, $aanpassen);
if (empty($change_category))
{
$change_category = "Overige";
return $change_category;
}
else
{
return $change_category;
}
}

Спасибо!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …