Ik wil een stuk tekst uit de database afkappen tot x karakters. Aan het einde van de x karakters komt dan het welbekende: Lees meer... te staan.
Met behulp van een querystring kan men dan de hele tekst lezen.
Nu heb ik daar een hele mooie function voor gevonden:
Nu haal ik met een loop de verschillende artikelen (tekst) uit de database.
NB. 'thestring' is een variabele die ik al eerder oproep om de zaak te regexen.
Nu is het probleem dat wanneer ik de function in de loop plaats hij daar een fout op geeft:
Kan een function niet in een loop geplaatst worden? hij moet daar namelijk staan omdat ik het ID van een artikel moet hebben voor de querystring. Als hij buiten de loop staan kan dat dus niet.
Ik heb al een aantal stukjes code gevonden die een tekst afkappen, maar die werken niet.
Hoe kan ik dit oplossen? Ik hoop dat het duidelijk is zo
/edit: Sorry voor de layout vergeslachtsgemeenschapping
Met behulp van een querystring kan men dan de hele tekst lezen.
Nu heb ik daar een hele mooie function voor gevonden:
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Function TextPreview(strText, nChars) Dim nPos ' Uncomment next line to replace line breaks with spaces ' strText = Replace(strText, vbCrLf, " ") ' Check if it's longer than limit If Len(strText) > nChars And nChars > 4 Then ' Find the end of last whole word that we can use nPos = InStrRev(Left(strText, nChars - 3), " ") If nPos > 0 Then ' Take whole words only TextPreview = Left(strText, nPos) & "<a href=""show_item_details.asp""><b><i>Lees meer...</i></b></a>" Else ' No spaces were found - take what we can TextPreview = Left(strText, nChars - 4) & "<a href=""show_item_details.asp""><i>Lees meer...</i></a>" End If Else ' Take nChars from the text TextPreview = Left(strText, nChars) End If End Function |
Nu haal ik met een loop de verschillende artikelen (tekst) uit de database.
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <% do while not rs.eof i = i + 1 %> <td width="300" valign="top"> <b><%=rs("T_Page_Title")%></b><br><br> <% strText= thestring(rs("T_Page_Content")) Response.Write TextPreview( strText, 200 ) If i = 2 then %> <tr> <td> <% i = 0 else End If rs.MoveNext loop %> |
NB. 'thestring' is een variabele die ik al eerder oproep om de zaak te regexen.
Nu is het probleem dat wanneer ik de function in de loop plaats hij daar een fout op geeft:
code:
1
2
3
4
5
6
7
| Microsoft VBScript compilation error '800a03ea' Syntax error /dhr/schoolstuff.asp, line 42 Function TextPreview(strText, nChars) |
Kan een function niet in een loop geplaatst worden? hij moet daar namelijk staan omdat ik het ID van een artikel moet hebben voor de querystring. Als hij buiten de loop staan kan dat dus niet.
Ik heb al een aantal stukjes code gevonden die een tekst afkappen, maar die werken niet.
Hoe kan ik dit oplossen? Ik hoop dat het duidelijk is zo
/edit: Sorry voor de layout vergeslachtsgemeenschapping
[ Voor 12% gewijzigd door Manual op 12-11-2003 13:33 ]