『壹』 sql只读表中的文字不读html标签中的东西例如(<font>asdsad</font>这些内容不读)
需要自己写过滤判断,提示:标签共有特征是"<"或">",你可以以文件流的方式读取整个文件,然后再截取标签,剩下的就是内容了!
『贰』 如何读取sql server数据库中的html代码
HTML是无法读取数据库的,HTML是页面前端脚本语言,要想从网页中获取SQL数据库里的数据,需要借助JSP或ASP或PHP或RUBY等语言来实现。 简单的关系可以这样理解: 数据库<--->JSP或ASP或PHP或RUBY等语言<--->HTML
如:在JSP页面中显示完整代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<%@ page
language="java"
contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
%>
<%@page import="java.sql.*"%>
<center>
<H1> <font color="blue" size="12">管理中心</font></H1>
<HR />
<table width="80%" border="1">
<tr>
<th>ID</th>
<th>书名</th>
<th>作者</th>
<th>价格</th>
<th>删除</th>
</tr>
<%
// 数据库的名字
String dbName = "zap";
// 登录数据库的用户名
String username = "sa";
// 登录数据库的密码
String password = "123";
// 数据库的IP地址,本机可以用 localhost 或者 127.0.0.1
String host = "127.0.0.1";
// 数据库的端口,一般不会修改,默认为1433
int port = 1433;
String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username
+ ";password=" + password;
//
//声明需要使用的资源
// 数据库连接,记得用完了一定要关闭
Connection con = null;
// Statement 记得用完了一定要关闭
Statement stmt = null;
// 结果集,记得用完了一定要关闭
ResultSet rs = null;
try {
// 注册驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 获得一个数据库连接
con = DriverManager.getConnection(connectionUrl);
String SQL = "SELECT * from note";
// 创建查询
stmt = con.createStatement();
// 执行查询,拿到结果集
rs = stmt.executeQuery(SQL);
while (rs.next()) {
%>
<tr>
<td>
<%=rs.getInt(1)%>
</td>
<td>
<a href="prepareupdate?ID=<%=rs.getInt("ID")%>" target="_blank"><%=rs.getString(2)%></a>
</td>
<td>
<%=rs.getString(3)%>
</td>
<td>
<%=rs.getString(4)%>
</td>
<td>
<a href="delete?ID=<%=rs.getInt("ID")%>" target="_blank">删除</a>
</td>
</tr>
<%
}
} catch (Exception e) {
// 捕获并显示异常
e.printStackTrace();
} finally {
// 关闭我们使用过的资源
if (rs != null)
try {
rs.close();
} catch (Exception e) {}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {}
if (con != null)
try {
con.close();
} catch (Exception e) {}
}
%>
</table>
<a href="insert.jsp">添加新纪录</a>
</center>
『叁』 如何向sql数据库存储一段带有html标记的文字
insert into table(column)
select '<a href="index.html">home</a>'--字符串里面是带双引号的
insert into table(column)
select '<a href=''index.html''>home</a>'--字符串里面是带单引号的
两个,一,带双引号的,按照字符串的方式内插容入就好
二、带单引号的,在sql中两个单引号表示字符串里面的单引号
『肆』 怎样把SQL中的数据输出到HTML页面
平常在查询数据库的时候,经常会把一些查询的结果保存起来,如数据存放到EXCEL中,但如果能有办法把数据存放到HTML页面中去显示,并且把数据以网页形式展现出来的时候,这样会更直观。
先来了解一下模板文件,Template模板,后缀名称为TPL,TPL文件和HTML文件一样,在TPL文件中注意其中的<%begindetail%><%enddetail%>"<%insert_data_here%>标记,分别代表的意思如下:
Begindetail:代表准备开始替换模板文件的开始
Enddetail:代表结束替换模板文件
insert_data_here:代表指明在何处插入结果集中的数据。如果结果集记录中包含多个字段的话,insert_data_here将按照其在记录中的顺序,也就是查询语句SELECT执行语句中的字段顺序,来按顺序地插入数据。也就是说,每个结果记录中的每个字段只能在页面中被插入一次。如果要想在页面中多次使用某个字段,可以先将它赋给一个变量。然后再反复地使用此变量即可。
那就来做一个简单格式的TPL模板,命名为OutPutHtml.TPL,模板的HTML代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /
<TITLEshow HTML</TITLE<BODY<center<P<H2<TABLE BORDER="1" cellpadding="0" cellspacing="0"
<TR <TH<B公司名称</B</TH
<TH<B联系人</B</TH
<TH<B产品名称</B</TH
<TH<B产品名称</B</TH</TR<%begindetail%
<TR <TD <%insert_data_here% </TD
<TD ALIGN=RIGHT<%insert_data_here%</TD
<TD ALIGN=RIGHT<%insert_data_here%</TD</TR<%enddetail%</TABLE</center</H2</BODY</HTML模板文件做好后,先把它存放在“D:\SQL Server文件”目录下面
『伍』 SQL字段内容含有HTML标签,如何模糊查询
代码是在VC++里面:
[cpp] view plainprint?
CString sql, str;
sql.Format(_T("SELECT * FROM tbPatient WHERE admitDate BETWEEN CDate('%s %s') AND CDate('%s %s')"),
dtStartDate.Format(_T("%x")), dtStartTime.Format(_T("%X")),
dtEndDate.Format(_T("%x")), dtEndTime.Format(_T("%X")));
//字段合并的模糊查询 MYSQL concat(email,address) like 'like%df%'
if(!strKeyWord.IsEmpty())
{
//SQL Server中IsNull(expression, replace)有替换功能,
//Access需要结合IsNull ( expression ), iif (condition, value_if_true, value_if_false )函数
//str.Format(_T(" AND IsNull(name, ' ') & IsNull(Empid, ' ') LIKE '%%%s%%'"),
// strKeyWord.GetBuffer(0));
str.Format(_T(" AND iif(IsNull(name),' ',name) & iif(IsNull(Empid),' ',Empid) LIKE '%%%s%%'"),
strKeyWord.GetBuffer(0));
sql += str;
}
TRACE1("%s\n", sql);
『陆』 有没有sql语句可以删除某个字段中的某些html代码
1、SQL语句暂时没有这样的处理方法
2、不过可以使用自定义函数+DLL的方式,思路如下版
1)、使用权.net编写DLL,里面需要有正则表达式的替换方法
2)、然后在SQL数据库中注册这个DLL
3)、编写一个自定义函数,用于剔除HTML代码
『柒』 求助 SQL语句 过滤HTML代码
<%Function htmlDecode(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项专目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
htmlDecode=strHTML
Set objRegExp = Nothing
End Function
%>
调用属函数
『捌』 如何在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标签,如何模糊查询
代码是在VC++里面:
[cpp]
view
plainprint?
CString
sql,
str;
sql.Format(_T("SELECT
*
FROM
tbPatient
WHERE
admitDate
BETWEEN
CDate('%s
%s')
AND
CDate('%s
%s')"),
dtStartDate.Format(_T("%x")),
dtStartTime.Format(_T("%X")),
dtEndDate.Format(_T("%x")),
dtEndTime.Format(_T("%X")));
//字段合并的模糊查询
MYSQL
concat(email,address)
like
'like%df%'
if(!strKeyWord.IsEmpty())
{
//SQL
Server中IsNull(expression,
replace)有替换功能,
//Access需要结合IsNull
(
expression
),
iif
(condition,
value_if_true,
value_if_false
)函数
//str.Format(_T("
AND
IsNull(name,
'
')
&
IsNull(Empid,
'
')
LIKE
'%%%s%%'"),
//
strKeyWord.GetBuffer(0));
str.Format(_T("
AND
iif(IsNull(name),'
',name)
&
iif(IsNull(Empid),'
',Empid)
LIKE
'%%%s%%'"),
strKeyWord.GetBuffer(0));
sql
+=
str;
}
TRACE1("%s\n",
sql);
『拾』 [问]如何在sql查询的时候过滤HTML
有点困难,要进行数据库编程,如果是用MSSQL数据库比较好解决。