2012-12-26 32 views
1

我使用ajax和php來輸出超鏈接,使用戶能夠通過電子郵件發送一些文本。鏈接指向郵件腳本,查詢字符串包含郵件的文本。通過點擊鏈接,用戶郵寄文本。但是,如果文本(也是用戶創建的)包含引號,則此引號將出現在查詢字符串中並中斷代碼。具體來說,瀏覽器認爲查詢字符串在遇到引號時結束。報價後的文字溢出到頁面上。我可以將超鏈接放在撇號中而不是引號中,但如果用戶在文本中包含撇號,則會遇到同樣的問題。php/javascript在查詢字符串中最好的方法來逃避引號

我試圖使用json_encode轉義這些特殊字符,但沒有奏效。我知道那裏有addslashes,或者我可以用str_replace破解事端,但是想以正確的方式做到這一點。

感謝您的任何建議,以正確的方式來做到這一點。

PHP

go to dbase 

$text = $row['text']; 

echo '<a href="sendmail.php?text='.$text.'">email text</a>'; 

/* 
say for sake of argument text is 'the dimensions of the painting are 24" x 36"' 

then above link is 

echo '<a href="sendmail.php?text=the dimensions of the painting are 24" x 36"">email text</a>'; 
which breaks code 
*/ 

回答

2

urlencode應該使用,因爲你要進行編碼把它放在一個URL文本。

+0

工作。不能接受答案,但它會讓我這樣做! – user1904273

相關問題