我必须回显一个字符串,该字符串可以包含以下html行中的所有内容:
<a href="javascript:void()" onclick="function(<?php ... ?>)">...</a>
我不知道如何正确地逃避我通过php传递的字符串,似乎有很多问题并且json_encode无法正常工作,因为它将输出包装在双引号中,因为双引号已经开始在&#34; onclick =&#34;。
之后只更换单引号也不能正常工作&#34; \&#39;&#34;将替换为&#34; \&#39;&#34;。
有什么想法吗?
答案 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