我正在尝试将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()
,而不是破坏我的网站。
答案 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(). '" '.
' />';