撇号在作为参数传递时发出

时间:2012-07-11 09:59:22

标签: php javascript mysql apostrophe htmlspecialchars

我试图解决撇号的问题,但没有成功。请看看这个,并建议我需要。

我从具有撇号的数据库中获取值。我使用变量将值传递给另一个javascript函数。但是由于撇号,函数没有执行。请查看下面提到的代码。

PHP代码:

<?php
$Id = $abc->id;
$str = $abc->street; // output: 111 O'CG street
?>

HTML:

<a href="javascript:void(0)" onclick="show_details(<?php echo $Id1;?>,'<?php echo $str;?>')"> 
Display
</a>

我也尝试使用反斜杠来使用HTML代码。但没有克服这个问题。

带反斜杠的代码:

<a href="javascript:void(0)" onclick="show_details(<?php echo $Id1;?>,\"<?php echo $str;?>\")"> 
Display
</a> 

请建议我。提前谢谢。

2 个答案:

答案 0 :(得分:2)

你必须使用addslashes()函数。

像:

<?php echo addslashes($str);?>

答案 1 :(得分:0)

只需将单引号更改为双引号

即可
onclick="show_details(<?php echo $Id1;?>,\"<?php echo $str;?>\")"