rp = vbCrLf & vbCrLf & vbCrLf
Replace(<inlägg>, rp, "")
Kanske funkar...
[Redigerat av rymdknark den 17 apr 2001]
16 svar · 289 visningar · startad av JAreMANNEN
Folk gillar visst att förstöra mitt forum!!
Finns personer som postar tomma inlägg med kanske 40 radbrytningar, hur ska jag göra för att tillåta endast 2 radbrytningar åt gången??
rp = vbCrLf & vbCrLf & vbCrLf
Replace(<inlägg>, rp, "")
Kanske funkar...
[Redigerat av rymdknark den 17 apr 2001]
LYFTER!!
För nu börjar det krisa sig..
Hoppas att någon fattar vad jag menar med mitt ovanstående inlägg...
Funkar inte rymdknarks metod?
men det är väl bara om någon skriver 3st radbryt på rad som den tar bort allihop..!?! Eller har jag fatat det hela mkt fel..?
Mjo, iofs... testa med ett RegExp:
texten = "din text"
objRegExp.pattern = vbcrlf & "{3,}"
texten = objRegExp.replace(texten, "")
Nu försvinner ALLA radbrytningar...
Måste väl gå att göra på något sätt så att OM det är mer än 3 radbrytningar på rad, MINSKA ner det till endast 1
Jag återkommer, tänkte fel.
Jag tror inte att det är problemet. Säg snarare till de som masspostar att sluta upp annars anmäler du dem... banna deras IP, banna deras domän , släng kakor efter personer som masspostar exempelvis över 20 rader...
Problemet är att de som besöker sidan oftast är i skolan, och jag kan jue inte banna flera skolor...
Hackade ihop ett skript
dim j,l,nj,cr
j = instr(post,VbCrLf)
l = len(post)
do while j > 0
if j + 4 >= l then exit do
cr = 1
j = j + 2
do while mid(post,j,2) = VbCrLf
cr = cr + 1
j = j + 2
loop
if cr >= 3 then
post = mid(post,1,j-2*cr) & mid(post,j-1)
l = l - 2*(cr-1)
j = j - 2*(cr-1)
end if
nj = instr(mid(post,j),VbCrLf)
if nj = 0 then exit do
j = j + nj - 1
loop
Men jag tror också att det inte hjälper i längden. Det täpper till ett hål men det finns en hel del till.
Den koden raderar OCKSÅ alla radbrytningar... huh..
Har du enbart radbrytningar i inlägget? Jag testar det fallet och återkommer förhoppningsvis.
red: fungerar.
mope, jag har lite smileys och text emellan...
Jag tycker att det fungerar för mig. Ersätter du vbcrlf med <br> innan du skriver ut?
Annat regexp?
Dim reManyLines, texten
texten = "din text" & vbCrLf & "rad två" & vbCrLf & vbCrLf & vbCrLf & "rad tre" & vbCrLf & "sista raden"
reManyLines = new RegExp
reManyLines.pattern = "(\r\n){3,}"
texten = reManyLines.replace(texten, vbCrLf)
Tack för det, ska kolla direkt när jag kommer hem ikväll!