我正在使用 Joomla 3.4。
我使用标准的 Joomla 方式来获取参数。
让我们假设 url 包含
注册?公司=ZITO%20MEDIA,%20LP

根据 Joomla 标准代码

$config = new JConfig();
$jinput = JFactory::getApplication()->input;
echo $jinput->get->get('company');

结果:ZITOMEDIALP

但是如果我把代码改成标准的php代码
echo $_GET['company'];

结果:ZITO MEDIA, LP

我想使用 joomla 代码,因为我在 joomla 项目上工作,但这不是我想要的。

有任何想法吗?它也发生在 POST 变量上。

最佳答案

根据 documentation ,JInput 默认情况下应用“cmd”过滤器,它基本上去除了不是 a-z 的任何内容。

您应该应用所需的过滤器,例如"int", "string", "word", ... 使用以下语法:

$jinput->get('varname', 'default_value', 'filtername');

大多数过滤器还有一个速记方法,例如下面两行代码是等价的:
$jinput->get('varname', 'default_value', 'string');
$jinput->getString('varname', 'default_value');

10-08 11:49