【问题标题】:addslashes C# equivalent [duplicate]addlashes C# 等效项[重复]
【发布时间】:2018-09-28 05:51:49
【问题描述】:

萨拉姆

我正在寻找与 PHP 的 addSlashes 等效的 C# 或 Razor 的适当版本。那会增加 \some\string => some\\string

请提供帮助

我为什么需要这个 在我的应用程序中,用户输入 Sometext in textbox 下一次当页面通过 Razor 填充数据时被意外按下,就像这样

...append('<span>'+'@Model.value'+'</span>') => 编译后变成这样 ...append('<span>'+'sometext\'+'</span>')

所以在这种情况下,我的 javascript 代码在 '\' 处中断,因为现在单引号已经开始但由于 `` 而没有结束。所以我认为与其限制字符,不如通过 C# 代码添加斜杠

谢谢

【问题讨论】:

  • 您能告诉我们为什么您想这样做吗?
  • 为什么用 javascript 和 regex 标记?
  • @mjwills 感谢您在我的应用程序中的回复,用户输入Sometext ` in textbox ` 下一次当页面通过 Razor 填充数据时意外按下它就像这样 ...append('<span>'+'@Model.value'+'</span>')=> 编译后变成这样...append('<span>'+'sometext\'+'</span>') 所以在这种情况下,我的javascript代码在'\' 中断,因为现在单引号已经开始但由于``而没有结束。所以我想而不是限制字符我宁愿通过 C# 代码添加斜杠
  • @AliJamal 请不要在 cmets 中发布问题的相关细节。将它们编辑为您的问题,这样更容易理解您的问题
  • 我试过这个test / text " '" 12# 2 !@#" @!"#@!"4 @!'4 @!"$"" ?/23 ``'/'\3/[[q//323/54@3/5@#%"@ ?#" `````""~"~"@~ ` String 它不工作

标签: c# php regex razor


【解决方案1】:

您没有显示您已经编写的任何代码,但这可以通过使用 [string.replace()] (https://www.w3schools.com/jsref/jsref_replace.asp) 来完成:

var str = "This is \\a test";
var replaced = str.replace("\\", "\\\\");

哎呀-您想要 C# 中的答案,我误读了您的“javascript”标签。基本上是一样的:

string str = "This is \\a test";
string replaced = str.Replace("\\", "\\\\");

另见C# String Replace

更新后,https://stackoverflow.com/a/27574931/34092 很可能是一个更好的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2013-07-03
    • 1970-01-01
    • 2010-10-15
    • 2015-12-15
    相关资源
    最近更新 更多