strtolower和mb_strtolower不起作用

I have a variable in which a string is stored, which is supplied via an insert tag of the CMS Contao.

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

The value of the string is at this point "Fitness" with a big "F". I would like to have this string completely in lowercase letters.

I have already tried the following:

// 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');

But none of these approaches work and I still get "Fitness" with a big "F".

What am I doing wrong?

Insert Tags are replaced by Contao before the result is sent to the browser. You are trying to strtolower just the insert tag (which does nothing of course) - not the content it will be replaced by.

For your example you can use:

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

or

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

or

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