我有这样的代码:
return t("Use tokens like: eg. [youtube_video:id]");
因为我的字符串中使用了括号,PHP将this [youtube_video:id] 视为数组键并返回如下通知:注意:使用未定义的常量_miscellaneous_filter_tips -假设'_miscellaneous_filter_tips' w杂记ous_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;
}
因为我没有前体代码,我实际上看不到函数t()做什么,但是如果它似乎认为你正在调用一个变量尝试使用
return t('Use tokens like: eg. [youtube_video:id]');
或者如果你仍然想使用变量
return t("Use tokens like: eg. " . '[youtube_video:id]');
把双引号改成单引号:
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']();