strtolower 和 mb_strtolower 不起作用
strtolower and mb_strtolower doesn't work
我有一个存储字符串的变量,它是通过 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');
但是 none 这些方法都有效,我仍然 "Fitness" 得到了 "F"。
我做错了什么?
在将结果发送到浏览器之前,插入标记被 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}}'));
我有一个存储字符串的变量,它是通过 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');
但是 none 这些方法都有效,我仍然 "Fitness" 得到了 "F"。
我做错了什么?
在将结果发送到浏览器之前,插入标记被 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}}'));