代码之家  ›  专栏  ›  技术社区  ›  Salman Arshad

函数转换任意字符串以在JavaScript中使用

  •  2
  • Salman Arshad  · 技术社区  · 14 年前

    "Hello World"
    -- becomes --
    "Hello World"
    
    "Hello
    World"
    -- becomes --
    "Hello\nWorld"
    
    "Hello
        World"
    -- becomes --
    "Hello\n\tWorld"
    
    "Hello'World"
    -- becomes --
    "Hello\'World"
    

    我需要使用这样的函数:

    var foo = '<p><%= thatfunction( Recordset( "TextField" ) ) %></p>';
    

    2 回复  |  直到 14 年前
        1
  •  2
  •   stealthyninja michkra    14 年前

    @萨尔曼A:这里有一个经典的ASP函数,你可以使用

    Function thatfunction(ByRef input_string)
        If NOT IsNull(input_string) AND input_string <> "" Then
            Dim working_string
            working_string = input_string
            working_string = Replace(working_string, vbNewLine, "\n")
            working_string = Replace(working_string, vbTab, "\t")
            working_string = Replace(working_string, "'", "\'")
            ' .. other escape values/strings you may wish to add
    
            thatfunction = working_string
        End If
    End Function
    
        2
  •  0
  •   Lee    14 年前

    你可以用 JavaScriptSerializer

    Dim serializer as New JavaScriptSerializer()
    Dim jsString as String = serializer.Serialize(your_string_here);
    

    ... 但是您的示例显示了嵌入在HTML元素中的文本,而不是Javascript字符串中的文本。也许你在找 HttpUtility.HtmlEncode()

    <p><%= HttpUtility.HtmlEncode( Recordset( "TextField" ) ) %></p>