我有一个存储字符串的变量,它通过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”来获得“健身”。
我做错了什么?
答案 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}}'));