PHP要显示的文本被解释为数组的一部分

时间:2014-07-03 08:05:32

标签: php notice

我有这段代码:

return t("Use tokens like: eg. [youtube_video:id]");

由于我的字符串中使用的括号,PHP将此[youtube_video:id] 视为数组键并返回通知,如:通知:使用未定义的常量_miscellaneous_filter_tips - 假设' _miscellaneous_filter_tips&# 39; w miscellaneous_filter_info_alter()

我该如何解决?

请求后的所有代码:

function _miscellaneous_filter_tips() {
    return t('Use tokens like: eg. [yamandi:youtube_video:id]');
}

function miscellaneous_filter_info_alter(&$info) {
  $info['filter_tokens']['tips callback'] = _miscellaneous_filter_tips;
}

2 个答案:

答案 0 :(得分:0)

因为我没有前导码我实际上看不到函数t()的作用,但是如果看起来好像你在调用变量那么试试

return t('Use tokens like: eg. [youtube_video:id]');

或者如果您仍想使用变量

return t("Use tokens like: eg. " . '[youtube_video:id]');

答案 1 :(得分:0)

只需将双引号更改为单引号:

return t('Use tokens like: eg. [youtube_video:id]');

修改

在查看更新的代码之后,这可能是一个完全不同的问题,我想您可能想尝试这种存储函数挂钩的方式:

function _miscellaneous_filter_tips() {
    return t('Use tokens like: eg. [yamandi:youtube_video:id]');
}

function miscellaneous_filter_info_alter(&$info) {
  $info['filter_tokens']['tips callback'] = '_miscellaneous_filter_tips';
}

然后当你想要调用那个函数时,你可以简单地使用:

$info['filter_tokens']['tips callback']();