これを聞くのは苦痛ですが、何らかの理由でこれを機能させることができませんでした(その日の遅く、そうです、それは私の言い訳です)。
この文字列があるとしましょう:
s = "John's book."
オブジェクトStringのreplace
メソッドを使用して、これを次のように変換します。
s = "John\'s book."
私はこのコードが私に欲しいものを与えると期待していたでしょう:
s = s.Replace("'", "\\'")
ただし、結果は次のとおりです。
"John\\'s book."
あなたがそれについて考える必要がないようにこれをしてください:
s = s.Replace("'", @"\'");
Mysqlのinsert節で使用する前にテキストをエスケープするための迅速で汚い関数があります。これは役に立つかもしれません:
public static string MySqlEscape(Object usString)
{
if (usString is DBNull)
{
return "";
}
else
{
string sample = Convert.ToString(usString);
return Regex.Replace(sample, @"[\r\n\x00\x1a\\'""]", @"\$0");
}
}
これがMVC.NET(MVC5 +)に関係する場合、別の可能な解決策を示すためだけに:
var data= JSON.parse('@Html.Raw(HttpUtility.JavaScriptStringEncode(JsonConvert.SerializeObject(Model.memberObj)))');
これにより、エスケープして、データをJavaScriptとしてビューに渡すことができます。重要な部分は次のとおりです。
HttpUtility.JavaScriptStringEncode
最も簡単なものは
Server.HtmlEncode(varYourString);