strtolower и mb_strtolower не работают

У меня есть переменная, в которой хранится строка, которая предоставляется через тег вставки CMS Contao.

category = "{{page::title}}";

Значение строки в этой точке «Фитнес» с большой буквой «F». Я хотел бы иметь эту строку полностью строчными буквами.

Я уже пробовал следующее:

// 1
$category = "{{page::title}}";
echo strtolower($category);

// 2
$category = "{{page::title}}";
echo mb_strtolower($category);

// 3
$category = "{{page::title}}";
echo mb_strtolower($category, 'UTF-8');

Но ни один из этих подходов не работает, и я все еще получаю «Фитнес» с большим «F».

Что я делаю неправильно?

0

Решение

Теги вставки заменяются на Contao перед отправкой результата в браузер. Вы пытаетесь strtolower только тег вставки (который, конечно, ничего не делает), а не содержимое, на которое он будет заменен.

Для вашего примера вы можете использовать:

global $objPage;
echo strtolower($objPage->pageTitle ?: $objPage->title);

или же

echo strtolower($GLOBALS['objPage']->pageTitle ?: $GLOBALS['objPage']->title);

или же

echo strtolower(\Contao\Controller::replaceInsertTags('{{page::title}}'));
3

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

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

По вопросам рекламы [email protected]