2013-09-23 69 views
1

如果您不需要手動創建mailto字符串,爲何必須使用URLEncode從數據庫中將空格從字符串傳遞到電子郵件(MAILTO主題)。 例如:<a href="mailo:[email protected]?subject=Hello Fred this is Harry">example</A> 工作正常,但如果我從數據庫中獲得主題它只傳遞第一個單詞「你好」,並修剪其餘部分,除非我使用Server.URLEncode(stringfromdatabase)。這插入一個+的位置的空間。Vbscript將訪問數據庫中的變量傳遞給電子郵件

是否有一種方法,允許我從數據庫傳遞一個字符串的空格到電子郵件客戶端,不需要修改字符串(添加+或%20)?

+3

似乎問題與您的代碼一樣。你沒有包括,所以很難建議任何東西...... –

+0

我同意,看起來問題是處理提取/傳遞變量的代碼片段,而不是這個。您用作「主題」的變量不會獲取整個字符串。你能給我們更多的代碼片段嗎? – ServerGuy

+0

總之,你需要弄清楚「旅行」究竟發生在哪裏。 – ServerGuy

回答

0

利用替換函數將空間與%20進行交換。在您的例子中,變量是

replace(stringfromdatabase," ", "%20") 

這個工作我在ASP頁,我掙扎着用VBScript的。

+0

解決了謝謝,用過 | \t功能strClean(strtoclean) \t \t昏暗objRegExp,outputStr \t \t集objRegExp =新的正則表達式 \t \t \t \t objRegExp.IgnoreCase =真 \t \t objRegExp.Global =真 \t \t objRegExp.Pattern =「(( ?![A-ZA-Z0-9 \ S *,]))+」 \t \t \t \t outputStr = objRegExp.Replace(strtoclean, 「 - 」。) \t \t \t \t objRegExp.Pattern =「\ - +」 \t \t outputStr = objRegExp。替換(outputStr,「」) \t \t \t \t strClean = outputStr \t End Function – Mike

0

所有分類感謝你使用以下

功能CleanString(strData是) 「替換無效的字符串。 (strData,「」,「and」) CleanString = Trim(strData)strData =替換(strData,「'」,「」) strData =替換(strData,「#」,「」) strData = 結束功能

Function strClean (strtoclean) 
    Dim objRegExp, outputStr 
    Set objRegExp = New Regexp 

    objRegExp.IgnoreCase = True 
    objRegExp.Global = True 
    objRegExp.Pattern = "((?![a-zA-Z0-9\s*,]).)+" 

    outputStr = objRegExp.Replace(strtoclean, "-") 

    objRegExp.Pattern = "\-+" 
    outputStr = objRegExp.Replace(outputStr, "") 

    strClean = outputStr 
End Function 
相關問題