0
我試圖確保在提交到我的數據庫時,所有不是數字或字母的字符都轉換爲HTML代碼。使用VB.NET將符號字符轉換爲HTML
帶着幾分谷歌搜索,我想出了這一點:
Public Shared Function HTMLEncodeSpecialChars(text As String) As String
Dim sb As New System.Text.StringBuilder()
Dim i As Integer
Dim charArray() As Char = text.ToCharArray()
' display contents of charArray
For i = 0 To charArray.Length - 1
sb.Append((String.Format("&#{0};", Asc(charArray(i)))) & ",")
Next
Return sb.ToString()
End Function
這成功地轉換什麼HTML,但現在我需要把一些條件有那麼它只做它,我需要它至。即;對於任何會使我的數據庫條目搞砸的字符,或者當以HTML格式返回到屏幕時(這個數據庫內容是針對網站的產品數據的),搞亂格式化。所以爲了簡單起見,我想我只想轉換字母不是A-Z字母或1-0數字的字符。
我可以使用isNumeric,但不知道如何檢測字母字符。
我一直在谷歌搜索,發現看起來像它會工作的東西,但邏輯/過濾是錯誤的。
所以我想我在這裏問:d
謝謝,你是對的我沒有意識到這一點。該文件表明,這正是我需要的......麻煩的是,它似乎並沒有工作!我試圖轉換一個由表單提交的HTML字符串,以便它可以插入到我的數據庫中。它現在在撇號上造成一個錯誤,應該HtmlEncode轉換撇號?編輯;使用.NET 2.0如果有所作爲 – 2012-01-13 09:21:37
其他;我剛剛輸出結果作爲文本,所以我可以看到到底發生了什麼。它似乎工作,但仍然不滿意提交到數據庫。一段輸出是:'< table style = " font-family:\ u0027Times New Roman \ u0027; letter-spacing:正常;孤兒:2; text-indent:0px; text-transform:none; ...'當我嘗試使用MySQL UPDATE將其發送到我的數據庫時,我得到'您的SQL中有一個錯誤'\ u0027Times' – 2012-01-13 09:43:12
啊,多一點谷歌搜索,給了我這個http://www.velocityreviews.com /forums/t100026-htmlencode-with-apostrophes.html我從中推斷出撇號需要手動轉換。因此'notes = HttpContext.Current.Server.HtmlEncode(Replace(notes,「'」,「'」))正在我的函數內工作:-) – 2012-01-13 10:15:56