Простое регулярное выражение заменить визуальный скрипт - PullRequest
1 голос
/ 25 марта 2011

У меня есть следующий код

<% 
txt = ""+(rs_email.Fields.Item("g_email_body").Value)+""
Set objReg = CreateObject("vbscript.regexp")
objReg.Pattern = "[activate]"
activate = (objReg.Replace(txt,"http://www.gamtool.com/activate.asp?id="+(Recordset1.Fields.Item("g_userbase_id").Value)+""))
%>

Когда я запускаю код, я получаю сообщение об ошибке в последней строке

activate = (objReg.Replace(txt,"http://www.gamtool.com/activate.asp?id="+(Recordset1.Fields.Item("g_userbase_id").Value)+""))
    %>

есть идеи, почему я получаю ошибку?

Я обновил код выше до следующего:

<%
  Set regEx = New RegExp
  regEx.Global = true
  regEx.IgnoreCase = True
  regEx.Pattern = "\[activate\]"
  strText = ""+(rs_email.Fields.Item("g_email_body").Value)+""
  activate = regEx.Replace(strText, ""+(Recordset1.Fields.Item("g_userbase_id").Value)+"")
%>

Если я изменю "" + (Recordset1.Fields.Item ("g_userbase_id"). Value) + "") на любое значение, но вставлю значение static, тогда это будет работать.

Спасибо

1 Ответ

1 голос
/ 25 марта 2011

@ Gerald Ferreira: вместо + используйте & для объединения. Вы получаете ошибку несоответствия типов, потому что VB Script думает, что вы пытаетесь добавить , что, конечно, не то же самое, что объединение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...