欢迎光临
我们一直在努力

為輸入及輸出的資料庫的資訊做造型

建站超值云服务器,限时71元/月

在討論區上有許多網友問到按怎處理雙引號的問題, 擱有網友問到由資料庫抓出來的資料無法斷行的問題, 其實在 vbscript 有一支 replace 函數可以來幫助咱們處理這款問題, 所以今日的文章就要來討論用 replace 來替資料做造型

replace 函數

一開始還是來看看 replace 的語法

replace(搜尋字串, 字串甲, 字串乙[, 開始位置][, 計數][, 比較方式]]]))

意思是這樣的: 由 搜尋字串 的 開始位置 找起, 找出字串甲, 並將它置換成 字串乙, 總共要做 計數 次

比較方式可以是下底的值

vbbinarycompare – 0 (預設值), 二進位比較, 也就是大小寫區分

vbtextcompare – 1 , 文字模式比較, 不區分大小寫

vbscript 字串常數

這裡列出一些 vbscript 的字串常數供大家參考

常數 值 說明

vbcr chr(13) carriage return

vbcrlf chr(13) & chr(10) carriage return and line feed

vblf chr(10) line feed

vbnewline chr(13) & chr(10) 或 chr(10) new line

vbtab chr(9) tab (horizontal)

處理單雙引號

現在就先來看看討論區上最常問到的問題, 由於在下 sql 指令如 insert, update, 你會將資料用單引號包起來, 就親像按呢

update sometable set col001=你的資料 where col002=條件

但如果你的資料中含有單(雙)引號, 那麼 sql 就會搞不清楚這是資料的分隔符號或是資料本身, 因此我們必須要利用 replace 函數把單引號再重複一次, 按呢 sql 才會懂這是資料一部份, 至於雙引號部分由於使用 replace(string, """, """") 似乎是行不通, 因此咱們使用另一個方式 – ascii 碼, 雙引號的 ascii 碼為 34 , 因此我們將 chr(34) 置換為 chr(34), 雖然沒有換不過至少騙過 sql server, 達成目的就好, 好! 來看看函數按怎寫

function formatquote(string)

on error resume next

string = replace(string,"","")

string = replace(string,chr(34),chr(34))

formatquote = string

end function

輸出資料斷行

擱來來看第二個問題 – 資料由資料庫拉出後在 html 格式上無法斷行的問題, 這個問題是很正常的, 因為在 html 上的換行是 <br> 所以它不認識 line feed – chr(10) 和 carriage return – chr(13), 同款的利用 replace 函數來做處理, 將其轉換成為 html 的 <p> 或是 <br> , 另外由於 html 只認一個空白字元, 所以也要對空白字元做處理, 將其轉換成 , 最後的考量就是 html 的標籤分隔符號 < > , 如果你的資料中有可能含有這樣的格式, 你可以加上第 6, 7 行

function formatstr(string)

on error resume next

string = replace(string, chr(13), "")

string = replace(string, chr(10) & chr(10), "<p>")

string = replace(string, chr(10), "<br>")

string = replace(string, chr(32), " ")

string = replace(string, "<", "<")

string = replace(string, ">", ">")

formatstr = string

end function

希望這篇文章對你有幫助!

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 為輸入及輸出的資料庫的資訊做造型
分享到: 更多 (0)