A me funziona.
Ho provato il tuo esempio.
Mi sono fatto un db con una tabella dove ho messo come parole non ammesse pippo e ciao:
codice:
<%
Function LeggiParole(ParolaS)
Set RSlp = Server.CreateObject("ADODB.RecordSet")
sqlquery = "select "
sqlquery = sqlquery & "* "
sqlquery = sqlquery & "from "
sqlquery = sqlquery & "BadWords "
sqlquery = sqlquery & "where "
sqlquery = sqlquery & "[Parola] = " & "'" & ParolaS & "'"
RSlp.Open sqlquery, Cnn, 1
if NOT RSlp.EOF then
' la parola e bad
LeggiParole = False
else
' la parola va bene
LeggiParole = True
end if
sqlquery=""
RSlp.Close
End Function
FRASE = "ciao pippo come va?"
set cnn = server.createObject("ADODB.Connection")
cnn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mapPath("\database\test.mdb")
SQL = " SELECT * FROM tabella WHERE (Titolo LIKE '%"&FRASE&"%'"
fraseS = Split(FRASE, " ")
if Ubound(fraseS) > 0 then
for i = 0 to Ubound(fraseS)
if len(fraseS(i)) > 0 then
if leggiparole(fraseS(i)) then SQL = SQL & " OR Titolo LIKE '%"& fraseS(i)&"%'"
end if
next
end if
SQL = SQL & ")"
response.write sql
cnn.close
set cnn = nothing
%>
e questo è il risultato della sql:
codice:
SELECT * FROM tabella WHERE (Titolo LIKE '%ciao pippo come va?%' OR Titolo LIKE '%come%' OR Titolo LIKE '%va?%')