Javascript 如何在onClick=“函数(字符串)”中转义字符串
我必须将可能包含所有内容的字符串回显到以下html行中: 我不知道如何正确地转义我用php传递的字符串,似乎有很多问题,而且json_encode在用双引号包装输出时不起作用,因为在onclick=之后双引号已经开始 仅仅替换单引号也不起作用,因为\'将被替换为\' 有什么想法吗?您可以使用addslashes函数。 试试这个:Javascript 如何在onClick=“函数(字符串)”中转义字符串,javascript,php,html,Javascript,Php,Html,我必须将可能包含所有内容的字符串回显到以下html行中: 我不知道如何正确地转义我用php传递的字符串,似乎有很多问题,而且json_encode在用双引号包装输出时不起作用,因为在onclick=之后双引号已经开始 仅仅替换单引号也不起作用,因为\'将被替换为\' 有什么想法吗?您可以使用addslashes函数。 试试这个: <?php $str = addslashes('What does "yolo" mean?'); echo($str); ?> 使
<?php
$str = addslashes('What does "yolo" mean?');
echo($str);
?>
使用PHP函数:
<a href="javascript:void()" onclick="function(<?php addslashes($YourParameter) ?>)">...</a>
您可以使用htmlspecialchars包装字符串,这应该可以完成这项工作
<a href="javascript:void()" onclick="function('<?=htmlspecialchars('can"be;anything')?>')">...</a>
由于所有答案都不起作用,我仔细研究了这个问题,并提出了以下解决方案:
function clean_param($string){
// escapes all single quotes and backslashes
$single_qu_esc = addcslashes($string, "'\\");
// escapes the resulting string for html
return htmlentities($single_qu_esc, ENT_QUOTES);
}
您可以添加您使用示例texttry to use onclick=尝试使用的代码吗?问题不在于在行中回显某些内容。它正在准备我回显的字符串,以便它不会打断onclick=中的字符串。他希望转义引号,而不是使用HTML特殊字符。这会导致他的JSON出现问题…除了JSON,他还会在什么地方使用JSON_encore?遗漏了:只看到了可以包含所有内容的字符串我自己差点遗漏了它,它写得不是很清楚:它不工作,html解析器似乎忽略了双引号前的反斜杠:onclick=function'test\test'>