2012-07-11 123 views
1

傳遞撇號問題我試圖解決撇號問題,但沒有成功。請看看這個,並建議我需要。作爲參數

我從包含撇號的數據庫中獲取值。我使用變量將值傳遞給另一個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

你必須使用addslashes()函數。

像:

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

而爲的stripslashes反向操作 – Pete 2012-07-11 10:03:37

0

只要改變你的單引號雙引號

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

這是一個有效的解決方案太...但如果什麼$海峽含有「 ?這就是爲什麼我認爲使用addslashes()更好(和通用) – HBv6 2012-07-11 10:05:21

+0

是的,你有一個點@PierpaoloBagnasco。 – 2012-07-11 10:09:20

+0

哇..使用addslashes()確實幫助我解決了這個問題。有一些信息沒有時間點(意味着變量的值將爲空)。 – Debashis 2012-07-11 10:17:11