Ⅰ 怎樣把sql中的數據輸出到HTML頁面,資料庫用的是mysql。
在 html 規范里,與換行有關的標簽之一是<br />標簽。由此分析,給文本區里的文字的每一行頭尾加入<br />標簽即可以 html 的方式達到存儲其換行狀態的目的。php接受文本區內容的方式是把文本區的全部字元當作一個單一的 string 變數來實現,因此,行的概念並不直接,好在來自文本區的字元包含有回車符,一個回車符代表一行的結束,我們可以通過整個字元串的回車符識別該文本所包含的行,從而給各行尾加入<br />標簽以便將段落分開。
另外,在將文本區的數據發送到Mysql之前,其中的敏感字元如空格、單引號、雙引號、大於號、小於號也要經過處理。
以下代碼
假設文本區的文本被視作變數 $str 。
function text_dowith($str)
{
//將文本區的數據格式化為Mysql能接受的Html數據格式(去除容易引起Mysql誤解的敏感字元)。
$str = ereg_replace(" "," ", $str); //將空格轉化為html格式
$str = ereg_replace("'","'",$str);//將單引號轉化為html格式
$str = ereg_replace('"','"',$str);//將雙引號轉化為html格式
$str = ereg_replace("<","<",$str);//將'<'轉化為html格式
$str = ereg_replace('>','>',$str);//將'>'轉化為html格式
$str = ereg_replace(chr(13),'<br />',$str);//將換行符轉化為html格式,,根據Textarea的wrap屬性確定是否有此行,如chr(13)和「/n/r」兩種格式都有,則將其中一個替換為「」
$str = ereg_replace(『/n/r』,'<br />',$str);//將換行符轉化為html格式,根據Textarea的wrap屬性確定是否有此行,如chr(13)和「/n/r」兩種格式都有,則將其中一個替換為「」
return $str;
}
將Myslq中包含html的數據輸出並顯示在文本區中的過程與輸入的過程相反。
function text_display($str)
{
//將Mysql中的html格式的數據進行格式處理(用於顯示在文本區中顯示)
$str = ereg_replace("<br />",chr(13), $str);
$str = str_replace(" ", " ", $str);
$str = ereg_replace("'","'",$str);
$str = ereg_replace('"','"',$str);
$str = ereg_replace("<","<",$str);
$str = ereg_replace('>','>',$str);
return $str;
}
如果只是顯示在表格中,則Mysql中的數據可以不經處理直接輸出。
Ⅱ 如何在SQL語句中清除HTML標簽
<%
db="data.mdb"
set conn=server.createobject("Adodb.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(db)
conn.open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from 表"
rs.open sql,conn,1,3
do while rs.eof=false
rs("欄位一")=Html2Ubb(rs("欄位一")) '在這里使用Html2Ubb函數將欄位的數據轉換成純文本形式後寫入資料庫
rs("欄位二")=Html2Ubb(rs("欄位二"))
rs("欄位三")=Html2Ubb(rs("欄位二"))
rs.update
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
Public Function Html2Ubb(ByVal strContent)
On Error Resume Next
If Len(strContent) > 0 Then
Dim re
Set re = New RegExp
re.IgnoreCase = True
re.Global = True
'--清除script腳本
If CInt(ArrayCodes(0)) = 1 Then
re.Pattern = "(<s+cript(.+?)<\/s+cript>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有iframe框架
If CInt(ArrayCodes(1)) = 1 Then
re.Pattern = "(<iframe(.+?)<\/iframe>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有object對象
If CInt(ArrayCodes(2)) = 1 Then
re.Pattern = "(<object(.+?)<\/object>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有java applet
If CInt(ArrayCodes(3)) = 1 Then
re.Pattern = "(<applet(.+?)<\/applet>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有div標簽
If CInt(ArrayCodes(4)) = 1 Then
re.Pattern = "(<DIV>)|(<DIV(.+?)>)"
strContent = re.Replace(strContent, "")
re.Pattern = "(<\/DIV>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有font標簽
If CInt(ArrayCodes(5)) = 1 Then
re.Pattern = "(<FONT>)|(<FONT(.+?)>)"
strContent = re.Replace(strContent, "")
re.Pattern = "(<\/FONT>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有span標簽
If CInt(ArrayCodes(6)) = 1 Then
re.Pattern = "(<SPAN>)|(<SPAN(.+?)>)"
strContent = re.Replace(strContent, "")
re.Pattern = "(<\/SPAN>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有A標簽
' If CInt(ArrayCodes(7)) = 1 Then
re.Pattern = "(<A>)|(<A(.+?)>)"
strContent = re.Replace(strContent, "")
re.Pattern = "(<\/A>)"
strContent = re.Replace(strContent, "")
' End If
'--清除所有img標簽
If CInt(ArrayCodes(8)) = 1 Then
re.Pattern = "(<IMG(.+?)>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有FORM標簽
If CInt(ArrayCodes(9)) = 1 Then
re.Pattern = "(<FORM>)|(<FORM(.+?)>)"
strContent = re.Replace(strContent, "")
re.Pattern = "(<\/FORM>)"
strContent = re.Replace(strContent, "")
End If
'--清除所有HTML標簽
If CInt(ArrayCodes(10)) = 1 Then
re.Pattern = "<(.[^>]*)>"
strContent = re.Replace(strContent, "")
End If
re.Pattern = "(" & Chr(8) & "|" & Chr(9) & "|" & Chr(10) & "|" & Chr(13) & ")"
strContent = re.Replace(strContent, vbNullString)
re.Pattern = "(<!--(.+?)-->)"
strContent = re.Replace(strContent, vbNullString)
re.Pattern = "(<TBODY>)"
strContent = re.Replace(strContent, "")
re.Pattern = "(<\/TBODY>)"
strContent = re.Replace(strContent, "")
re.Pattern = "(<" & Chr(37) & ")"
strContent = re.Replace(strContent, "<%")
re.Pattern = "(" & Chr(37) & ">)"
strContent = re.Replace(strContent, "%>")
Set re = Nothing
Html2Ubb = strContent
Else
Html2Ubb = ""
End If
Exit Function
End Function
%>
Ⅲ sql欄位中如何替換特定的html標簽
update表set欄位=replace(欄位,'字元','替換字元')