簡體   English   中英

在CDO.Message中使用RegEx與經典ASP

[英]Using RegEx in CDO.Message with Classic ASP

我正在使用ASP VB中的CDO.Message對象,並且嘗試使用VB正則表達式處理表單字段(文本區域)文本,然后再將其作為(非HTML)電子郵件發送。

我正在嘗試做的是過濾掉沒有前一個周期而出現的任何\\ r或\\ n(或組合)。 但是,盡管我已經在在線Regex測試器中測試過代碼,但正則表達式在電子郵件中的文本中均無效。

但是,我可以在字符串中添加chr(13),它會顯示在電子郵件中。

如果可能的話,我寧願不使用HTML。 關於正則表達式為什么不起作用,有人會提出任何建議嗎?
謝謝

這是下面的正則表達式:

<%strGoals = Request.Form("Goals")
                        Set regEx = New RegExp
                        regEx.Global = True
                        regEx.IgnoreCase = True
                        regEx.Pattern = "(([^\.])(\r\n|\r|\n)+)"


                        set matches = regEx.Execute(strGoals) 
                        If matches.Count > 0 Then
                        For Each Match in matches 
                        varGoalsResults = matches.item(0).submatches(0)
                        Response.write("<div style=""background-color:#f00;"">"&varGoalsResults&"</div>")
                        Next
                        Else
                        response.write("no matches")
                        End If

                        strGoals = Trim(regEx.Replace(strGoals, "$2"))

         strBody = strBody & "Goals: " & chr(13) & Request.Form("Goals") & chr(13) & chr(13)
%>

<!--#include virtual="SendEmail.asp"-->

這是SendEmail.asp的代碼:

<%
Set ObjMail = CreateObject("CDO.MESSAGE") 

ObjMail.From = strFrom

ObjMail.To = strTo

ObjMail.Cc = strCc

ObjMail.Subject = strSubject

'ObjMail.BodyPart.ContentMediaType = "multipart/alternative"

If strFormat = "HTML" Then
    strHTMLStart = "<html><head><style type=""text/css"">body {font-family:Arial, Helvetica, sans-serif;}</style></head><body>"
    strHTMLEnd = "</html></body>"
    ObjMail.HtmlBody = strHTMLStart & strBody & strHTMLEnd
Else
    ObjMail.TextBody = strBody
End If




ObjMail.Send 

Set ObjMail=nothing
%>

嘗試使用regEx.Global = False它應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM