'语法错误,意外T_CONSTANT_ENCAPSED_STRING'将Word事件跟踪添加到Wordpress插件中的按钮

时间:2012-04-14 16:52:09

标签: php google-analytics wordpress-plugin

我正在尝试将google事件跟踪添加到wordpress插件中。此插件中提交按钮的代码是:

{
        return "<input  type=\"submit\" ".
                "name=\"".fm_form_submit_btn_name()."\" ".
                "id=\"".fm_form_submit_btn_id()."\" ".
                "class=\"submit\" ".
                "value=\"".fm_form_submit_btn_text()."\" ".
                "onclick=\"".fm_form_submit_btn_script()."\" ".
                "  />\n";
    }

我正在尝试将谷歌分析跟踪代码onclick=_gaq.push(['_trackEvent', 'Form', 'Submit', 'Apply'])添加到上述块中,并最终将'Apply'替换为fm_form_the_title(),返回表单的标题。

问题:无论我在插入跟踪代码块时使用什么引号,我都会遇到错误'语法错误,意外T_CONSTANT_ENCAPSED_STRING'或'T_STRING'关闭整个网站。

编辑:上面的代码块有效,不需要简化,是一个更大的项目的一部分。我的问题是如何添加onclick=_gaq.push(['_trackEvent', 'Form', 'Submit', 'Apply'])并最终将'Apply'替换为fm_form_the_title(),而不是破坏我的网站。

4 个答案:

答案 0 :(得分:3)

以下内容有效,尽管返回后使用此代码的代码可能会在parens,括号或单引号上引发错误。如果这不起作用,请查看返回后使用它的位置并相应地转义特殊字符。

function yourfunc() {

  return "<input  type=\"submit\" ".
    "name=\"".fm_form_submit_btn_name()."\" ".
    "id=\"".fm_form_submit_btn_id()."\" ".
    "class=\"submit\" ".
    "value=\"".fm_form_submit_btn_text()."\" ".
    "onclick=\"_gaq.push(['_trackEvent', 'Form',".
    "'Submit', '".fm_form_the_title()."']);".
    fm_form_submit_btn_script()."\"/>\n";

}

尝试不使用传递给_gaq.push方法的数组中的单引号。

function yourfunc() {

  return "<input  type=\"submit\" ".
    "name=\"".fm_form_submit_btn_name()."\" ".
    "id=\"".fm_form_submit_btn_id()."\" ".
    "class=\"submit\" ".
    "value=\"".fm_form_submit_btn_text()."\" ".
    "onclick=\"_gaq.push([\"_trackEvent\", \"Form\",".
    "\"Submit\", \"".fm_form_the_title()."\"]);".
    fm_form_submit_btn_script()."\"/>\n";

}

我必须同意以下人员,但以下内容对于可读性和未来支持都是最好的。

function yourfunc() {

  return '<input  type="submit" '.
    'name="'.fm_form_submit_btn_name().'" '.
    'id="'.fm_form_submit_btn_id().'" '.
    'class="submit" '.
    'value="'.fm_form_submit_btn_text().'" '.
    'onclick="_gaq.push(["_trackEvent", "Form",'.
    '"Submit", "'.fm_form_the_title().'"]); '.
    fm_form_submit_btn_script().'"/>\n';

}

答案 1 :(得分:1)

如何用

简化这个
return '<input  type="submit" '.
'name=\"".fm_form_submit_btn_name()."\" ".
'id="'.fm_form_submit_btn_id().'"'.
'class="submit"'.
'value=\"".fm_form_submit_btn_text().'"'.
'onclick="'.fm_form_submit_btn_script().'"'.
'  />\n';

答案 2 :(得分:1)

由于您要转义引号以放入函数调用,为什么不使用单引号?

 return '<input  type="submit" '.
            'name="'.fm_form_submit_btn_name().'" '.
            'id="'.fm_form_submit_btn_id().'" '.
            'class="submit" '.
            'value="'.fm_form_submit_btn_text().'" '.
            'onclick="'.fm_form_submit_btn_script().'" '.
            '  />
         ';

答案 3 :(得分:0)

return '<input  type="submit" '.
'name=\"".fm_form_submit_btn_name(). '" '.
'id="'.fm_form_submit_btn_id().'" '.
'class="submit" ".
'value="'.fm_form_submit_btn_text().'" '.
'onclick="'.fm_form_submit_btn_script(). '" '.
' />';