PHP代码中的事件跟踪

时间:2013-04-03 10:23:49

标签: php input event-tracking submit-button

我正在尝试将事件跟踪实施到联系表单上的提交按钮。这是我正在使用的代码:

<input type='button' value='".((get_theme_option("translator_status") == "enable") ?   get_text("tranlator_send_message") : __('Send comment','theme_localization'))."' id='submit2' class='feedback_go' name='submit'>

以下是我需要放在其中的代码:

onclick="_gaq.push(['_trackEvent', 'Contact Us Form', 'Submit', 'Submit']);"

代码开头和结尾的双引号会导致服务器错误。如果我改为使用单引号,则跟踪不起作用。

我尝试将双引号括起来,但这也会导致服务器错误。

如果有人能告诉我出错的地方和解决方法,我将非常感激。

由于

1 个答案:

答案 0 :(得分:0)

使用sprintf(),您可以更轻松地管理此代码:

echo sprintf('<input type="button" id="submit2" class="feedback_go" value="%s" onclick="_gaq.push(%s);" />',
    htmlspecialchars(get_theme_option("translator_status") == "enable" ? get_text("tranlator_send_message") : __('Send comment','theme_localization'), ENT_QUOTES, 'UTF-8'),
    json_encode(array('_trackEvent', 'Contact Us Form', 'Submit', 'Submit'))
);

它还使用htmlspecialchars()来正确转义get_text()__()的内容。