我正在寻找在 PHP 中转义一些 Javascript 文本的最佳方法,并且json_encode
是错误的工作工具。
问题来自这一行:
echo " onclick=\"SwitchDiv('" . $option . "')\"";
如果 中有一个撇号$option
,这是客户端失败的多汁球。但是做一个直线json_encode
(在其他情况下效果很好)并没有帮助:
echo " onclick=\"SwitchDiv(" . json_encode($option) . ")\"";
这会创建一个输出字符串onclick="SwitchDiv("athlete's foot")"
,导致onclick
值过早终止。onclick
(如果我将值括在单引号中,也会发生这种情况。)
有没有一种优雅的方式来解决这个问题?我是否应该json_encode
通过正则表达式将输出汇集到将转义单引号的正则表达式?