Member 13758543 Ответов: 1

Как перекодировать вывод шорткода в PHP


[Использование WatuPRO, плагина wordpress]

У меня есть короткий код %%CATEGORY-POINTS-MANAGEMENT%%, который при размещении в html-сертификате дает число от 1 до 18, соответствующее количеству баллов, полученных участником по субшкале управления опросом. (В выводе html # будет записан в том месте, где я разместил шорткод %%CATEGORY-POINTS-MANAGEMENT%%.

Теперь вместо того, чтобы показывать номер по умолчанию в качестве вывода, я хотел бы отобразить букву. Например, если значение %%CATEGORY-POINTS-MANAGEMENT%% = 1, то вместо отображения ‘1’ в документе я хотел бы видеть A. Если значение %%CATEGORY-POINTS-MANAGEMENT%% = 2, то вместо отображения ‘2’ в документе я хотел бы видеть B.

Предполагая ,что участник получит оценку 2 по шкале управления, в моем html-коде сертификата, если я поставлю %%CATEGORY-POINTS-MANAGEMENT%% = $management, я увижу 2 = [blank] вместо 2 = b. что я могу сделать, чтобы исправить это?

Что я уже пробовал:

Я попытался создать php-функцию, которая автоматически заменяла бы вывод, генерируемый %%CATEGORY-POINTS-MANAGEMENT%%, соответствующей буквой:

<?php

$regex = '/^%%\-CATEGORY\-POINTS\-MANAGEMENT%%$/';
preg_match($regex, $management, $matches);

$set = $matches[1];
switch ($set) {
    $management = '%%CATEGORY-POINTS-MANAGEMENT%%';
switch ($management) {
case '1':
echo 'A';
break;
case '2':
echo 'B';
break;
case '3':
echo 'C';
break;
default:
echo 'D';
break;
}
}
?>

1 Ответов

Рейтинг:
2

W∴ Balboos, GHB

Если вы создадите массив, который сопоставит ваши числа с буквами, то вы сможете избежать всей путаницы с фактическим тестированием значений. [список поиска, который является очень эффективным кодом]:

пункт[1]='A';
пункт[2]='B';
пункт[3]='C';
и т.д. Любое расстояние, которое вы выберете.

Теперь расплата
Когда вы получите значение n, просто отобразите элемент[n];

<br?