簡體   English   中英

單引號和雙引號問題

[英]Single and Double Quotes Problems

在一個迷你Web應用程序中,我只是想用addlashes()和stripslashes()來轉義雙引號和單引號,而這只是一個插入值並以表單形式檢索出來的值,以供編輯,還有一個用於查看屬性的常規頁面。 最后,我決定使用此函數來更改單引號和雙引號:

function fixQuotes($string) {
    $string = str_replace("'", ''', $string);
    $string = str_replace('"', '"', $string);
    return $string;
}

由於在使用此方法之前,我沒有任何細節可知,所以我不能真正問出什么地方出了問題。 相反,我想知道使用此函數用html實體替換單引號和雙引號是否有任何缺點。

您不能僅憑魔術般地“修復”引號,而不必知道數據將去向何處。

  1. 將數據插入數據庫時​​,請使用數據庫API的轉義功能對其進行轉義。 如果您使用的是舊版MySQL API(不推薦使用,因為它不建議使用新代碼),請使用mysql_real_escape_string 如果您使用的是MySQL改進的API,請使用mysqli_real_escape_string 如果您使用PDO,使用bindValue ,或執行input_parameters參數或引用

  2. 當您將文字回顯到HTML頁面時,請使用htmlspecialchars

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM