Korrektes (Ab)schneiden
Capior
- asp.net
0 Markus Mühlich0 Capior0 Markus Mühlich0 capior0 Markus Mühlich0 Capior
Hi
Hat mir jemand grad ein Script, das zu lange Texte nach x Zeichen korrekt schneidet?!?!
Mit korrekt meine ich, dass das Script überprüft ob es bei einem Space " " (Leerschlag) schneidet und nicht mitten im Text bzw. mitten in einem Wort.
Bsp:
"Hallo, ich habe keine Ahnung, was ich schreiben soll"
->
"Hallo, ich habe keine Ahn ..." (so ist's falsch)
->
"Hallo, ich habe keine Ahnung ..." (so ist's natürlich richtig :-))
Danke und tschüss
Capior
PS: Ob JScript oder VBScript ist egal.
Hallo,
Hat mir jemand grad ein Script, das zu lange Texte nach x Zeichen korrekt schneidet?!?!
Mit korrekt meine ich, dass das Script überprüft ob es bei einem Space " " (Leerschlag) schneidet und nicht mitten im Text bzw. mitten in einem Wort.
Dieses Konstrukt nimmt einen String, schneidet ihn an der 40. Stelle ab und überprüft in einer Funktion, ob das letzte Zeichen mit einem vorgegebenen Charakter übereinstimmt. Wenn nein, wird der String um eine Stelle gekürzt - und die Funktion nochmal aufgerufen.
Spiel mal mit rum ;-)
<%strMyText = "Hallo, ich habe keine Ahnung, was ich schreiben soll"
i = 40
do until cutString(strText) = true
strText = Mid(strMyText,i,1)
i = i - 1
loop
strText = trim(strText)%>
<%function cutString(strText)
strZeichen(0) = chr(32) ' sapce
strZeichen(1) = chr(33) ' !
strZeichen(2) = chr(44) ' ,
strZeichen(3) = chr(46) ' .
strZeichen(4) = chr(58) ' :
strZeichen(5) = chr(59) ' ;
strZeichen(6) = chr(63) ' ?
for i=0 to 6
if strText = str_zeichen(i) then
cutString = true
exit function
end if
next
cutString = false
end function%>
Viele Grüße aus Köln
Markus
Hallo,
Hat mir jemand grad ein Script, das zu lange Texte nach x Zeichen korrekt schneidet?!?!
Mit korrekt meine ich, dass das Script überprüft ob es bei einem Space " " (Leerschlag) schneidet und nicht mitten im Text bzw. mitten in einem Wort.
Dieses Konstrukt nimmt einen String, schneidet ihn an der 40. Stelle ab und überprüft in einer Funktion, ob das letzte Zeichen mit einem vorgegebenen Charakter übereinstimmt. Wenn nein, wird der String um eine Stelle gekürzt - und die Funktion nochmal aufgerufen.
Spiel mal mit rum ;-)
<%strMyText = "Hallo, ich habe keine Ahnung, was ich schreiben soll"
i = 40
do until cutString(strText) = true
strText = Mid(strMyText,i,1)
i = i - 1
loop
strText = trim(strText)%>
<%function cutString(strText)
strZeichen(0) = chr(32) ' sapce
strZeichen(1) = chr(33) ' !
strZeichen(2) = chr(44) ' ,
strZeichen(3) = chr(46) ' .
strZeichen(4) = chr(58) ' :
strZeichen(5) = chr(59) ' ;
strZeichen(6) = chr(63) ' ?
for i=0 to 6
if strText = str_zeichen(i) then
cutString = true
exit function
end if
next
cutString = false
end function%>
Viele Grüße aus Köln
Markus
Hi
Vielen Dank für das Script, nur leider bring ich es nicht anständig zum Laufen.
Entweder schneidet es alles oder der PC crasht (ich denk die Bedingung wird nie erfüllt oder das Script ist wirklich so extrem ressourcenfressend [PIII 800Mhz, 256RAM, win2000]).
Kannst du sonst das Script nochmals überfliegen, ich habs nicht geschafft.
Danke und tschüss
Capior
---------------------------------------------
PS: "if strText = str_zeichen(i) then" -> "if strText = strZeichen(i) then"
Hallo,
<%strMyText = "Hallo, ich habe keine Ahnung, was ich schreiben soll"
i = 40
do until cutString(strText) = true
strText = Mid(strMyText,i,1)
i = i - 1
loop
strMyText = Trim(Mid(strMyText, 1, i))
response.write(strMyText)
%>
<%function cutString(strText)
strZeichen(0) = chr(32)
strZeichen(1) = chr(33)
strZeichen(2) = chr(44)
strZeichen(3) = chr(46)
strZeichen(4) = chr(58)
strZeichen(5) = chr(59)
strZeichen(6) = chr(63)
for i=0 to 6
if strText = strZeichen(i) then
cutString = true
exit function
end if
next
cutString = false
end function%>
Vielen Dank für das Script, nur leider bring ich es nicht anständig zum Laufen.
Versuch es jetzt nochmal - da war eine Zeile falsch gecodet. Sorry
Gruß Markus
PS: "if strText = str_zeichen(i) then" -> "if strText = strZeichen(i) then"
Hallo,
<%strMyText = "Hallo, ich habe keine Ahnung, was ich schreiben soll"
i = 40
do until cutString(strText) = true
strText = Mid(strMyText,i,1)
i = i - 1
loop
strMyText = Trim(Mid(strMyText, 1, i))
response.write(strMyText)
%>
<%function cutString(strText)
strZeichen(0) = chr(32)
strZeichen(1) = chr(33)
strZeichen(2) = chr(44)
strZeichen(3) = chr(46)
strZeichen(4) = chr(58)
strZeichen(5) = chr(59)
strZeichen(6) = chr(63)
for i=0 to 6
if strText = strZeichen(i) then
cutString = true
exit function
end if
next
cutString = false
end function%>
Vielen Dank für das Script, nur leider bring ich es nicht anständig zum Laufen.
Versuch es jetzt nochmal - da war eine Zeile falsch gecodet. Sorry
Gruß Markus
Hi
Sorry, aber das Ganze geht immer noch nicht. Jetzt erhalt ich zwar keine Fehlermeldung mehr, aber es schreibt auch nichts..der string ist einfach leer.
do until cutString(strText) = true
diese zeile stört mich.....weiss nicht, strText ist ja noch gar nicht definiert...wenn ich strText durch strMyText ersetze, hängt der aber pc wieder..
sorry, aber ich weiss nicht weiter...
kannst mir nochmals helfen :-)
danke und tschüss
capior
Hallo,
ist vielleicht ein bißchen heiß heute - aber auf jeden Fall läuft es jetzt. http://www.netbrush.net/muehlich/index.asp
<%
Dim strZeichen(7)
strMyText= "Hallo, ich habe keine Ahnung, was ich schreiben soll"
j = 30
strText = Mid(strMyText,j,1)
do until cutString(strText) = true
strText = Mid(strMyText,j,1)
j = j - 1
loop
strMyText = left(strMyText,j)
response.write("<b>Lang:</b> Hallo, ich habe keine Ahnung, was ich schreiben soll<br><br>")
response.write("<b>Kurz: </b>" & strMyText)
function cutString(strText)
strZeichen(0) = chr(32)
strZeichen(1) = chr(33)
strZeichen(2) = chr(44)
strZeichen(3) = chr(46)
strZeichen(4) = chr(58)
strZeichen(5) = chr(59)
strZeichen(6) = chr(63)
for i=0 to 6
if strText = strZeichen(i) then
cutString = true
exit function
end if
next
cutString = false
end function%>
Viele Grüße aus Köln
Markus
Hallo,
ist vielleicht ein bißchen heiß heute - aber auf jeden Fall läuft es jetzt. http://www.netbrush.net/muehlich/index.asp
<%
Dim strZeichen(7)
strMyText= "Hallo, ich habe keine Ahnung, was ich schreiben soll"
j = 30
strText = Mid(strMyText,j,1)
do until cutString(strText) = true
strText = Mid(strMyText,j,1)
j = j - 1
loop
strMyText = left(strMyText,j)
response.write("<b>Lang:</b> Hallo, ich habe keine Ahnung, was ich schreiben soll<br><br>")
response.write("<b>Kurz: </b>" & strMyText)
function cutString(strText)
strZeichen(0) = chr(32)
strZeichen(1) = chr(33)
strZeichen(2) = chr(44)
strZeichen(3) = chr(46)
strZeichen(4) = chr(58)
strZeichen(5) = chr(59)
strZeichen(6) = chr(63)
for i=0 to 6
if strText = strZeichen(i) then
cutString = true
exit function
end if
next
cutString = false
end function%>
Viele Grüße aus Köln
Markus
Hi
ja, war wohl sehr heiss :-)
Ne, danke auf jeden Fall!!!!!!!!!!
Es läuft tatsächlich :-)
Schöne, tschüss
Capior