像PHP的经典asp函数parse_str()

时间:2015-07-09 20:11:01

标签: php vbscript asp-classic

在经典asp中有没有与php的parse_str相同的东西?

我有一个这样的字符串:" key1 = value1,key2 = value2,key3 = value3",我需要将它转换为数组或类似的结构,所以我可以像使用它一样( ' key1')或类似的东西。 在PHP中我喜欢这样:

parse_str(str_replace(",", "&", str_replace(", ", "&", $dn)), $arr);

如何在经典ASP中执行此操作?

2 个答案:

答案 0 :(得分:3)

如果您的键/值中没有逗号,您可以使用Split()将字符串分隔为键/值对数组:

a = Split(s, ",")

然后,您可以进一步拆分=上的每个元素以分别获取键和值:

For Each i In a
    a2 = Split(i, "=")
    ' Now a2(0) = key, a2(1) = value
Next

但是,如果不使用像Dictionary对象这样的东西,你将无法通过“key”访问它。

答案 1 :(得分:0)

我亲自试过这个并为我工作。

s = "key1=value1, key2=value2, key3=value3"
kp = Split(s, ",")
Set d=Server.CreateObject("Scripting.Dictionary")
Dim d

For Each i In kp
   kp2 = Split(i, "=")
   d.Add Trim(kp2(0)) , kp2(1)
   Response.Write("The value of key "&Trim(kp2(0))&" is: " & d.Item(Trim(kp2(0))) &"<br />")
Next

Response.Write("<hr/>Or anywhere else <br/>The value of key2 is: " & d.Item("key2"))

我在这里使用Scripting.Dictionary对象,该对象用于将键/值对中的信息(称为键和项)存储为许多其他语言中的任何其他词典。