如何在onClick ="函数(字符串)"中转义字符串

时间:2017-05-02 08:25:38

标签: javascript php html

我必须回显一个字符串,该字符串可以包含以下html行中的所有内容:

<a href="javascript:void()" onclick="function(<?php ... ?>)">...</a>

我不知道如何正确地逃避我通过php传递的字符串,似乎有很多问题并且json_encode无法正常工作,因为它将输出包装在双引号中,因为双引号已经开始在&#34; onclick =&#34;。

之后

只更换单引号也不能正常工作&#34; \&#39;&#34;将替换为&#34; \&#39;&#34;。

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

您可以使用 addslashes()功能。 试试这个:

<?php 
    $str = addslashes('What does "yolo" mean?');
    echo($str); 
?>

答案 1 :(得分:0)

使用PHP addslashes功能:

<a href="javascript:void()" onclick="function(<?php addslashes($YourParameter) ?>)">...</a>

答案 2 :(得分:0)

由于没有一个答案有效,我仔细研究了这个问题并提出了这个解决方案:

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);

}

答案 3 :(得分:-1)

你可以使用htmlspecialchars包装你的字符串,这应该可以完成这项工作。

$ ./bin/maxminsum
Enter number of scores: 5
Enter score [0]: 9
Enter score [1]: 3
Enter score [2]: 7
Enter score [3]: 8
Enter score [4]: 2

The max score is :9
The total score is:29