解析错误:语法错误意外T_DOUBLE_ARROW期望')'

时间:2010-09-09 17:23:59

标签: php html

这是我一直得到的错误:

解析错误:语法错误,意外的T_DOUBLE_ARROW,期待')'在第170行的...... / Themes / default / Display.template.php

以下是代码:

'notify' => array(
    'test' => 'can_mark_notify', 
    'text' => 125, 
    'image' => 'notify.gif', 
    'lang' => true, 
    'custom' => 
        'onclick="return confirm(Â¥'' 
        . (
            $context['is_marked_notify'] 
            ? $txt['notification_disable_topic'] 
            : $txt['notification_enable_topic']
        ) 
        . 'Â¥');"',
    'url' => $scripturl 
        . '?action=notify;sa=' 
        . ($context['is_marked_notify'] ? 'off' : 'on') 
        . '; topic=' . $context['current_topic'] 
        . '.' . $context['start'] 
        . '; sesc=' 
        . $context['session_id']),

我已经检查过所有括号是否都已关闭,它们似乎是。我不知道该怎么做。

1 个答案:

答案 0 :(得分:3)

你有一些不平衡的单引号从'custom => 'onclick=...开始,你将一些PHP数组变量插入到javascript中。

'notify' => array(
    'test' => 'can_mark_notify',
    'text' => 125,
    'image' => 'notify.gif',
    'lang' => true,
    'custom' => 'onclick="return confirm(Â¥'' . ($context['is_marked_notify'] ? 
                                         ^^^^^ right here
          $txt['notification_disable_topic'] : $txt['notification_enable_topic']) . 'Â¥');"',
    'url' => $scripturl . '?action=notify;sa=' . ($context['is_marked_notify'] ? 'off' : 'on') . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';sesc=' . $context['session_id']),

同样,您应该非常小心地将看似文本的内容插入到那些onclick处理程序中。如果$txt['notification_disable_topic']和其他内容包含单引号(例如“O'Brien”),该怎么办?你最终会得到一个javascript语法错误。