strtolower和mb_strtolower不起作用

时间:2018-03-23 12:31:34

标签: php string string-formatting contao

我有一个存储字符串的变量,它通过CMS Contao的插入标记提供。

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

此时字符串的值是“Fitness”,带有一个大的“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”来获得“健身”。

我做错了什么?

1 个答案:

答案 0 :(得分:3)

在将结果发送到浏览器之前,Insert替换为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}}'));