Thema: Einrückungen rausfiltern
-
Hallo
ich hole per JavaScript den innerHTML Content aus einem Element. Der Content ist oft aus Gründen der besseren Lesbarkeit eingerückt, dadurch entsteht aber ein riesiger Haufen Datenmüll. So ein Content kann z.B. so aussehen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
function MaxString(maximum, outputid, inputid){ var value; value = maximum - document.getElementById(inputid).value.length; if(value < 0){ document.getElementById(inputid).value = document.getElementById(inputid).value.substring(0,maximum); value = maximum - document.getElementById(inputid).value.length; } if(value == maximum){ document.getElementById(outputid).innerHTML = "maximal"; } else { document.getElementById(outputid).innerHTML = "noch " + value + " von"; } }
Gibt es eine einfache Möglichkeit, so eine Art "trim()", um die Einrückungen zu entfernen? Also nur die Einrückungen (Leerzeichen und Tabs) am Anfang einer Zeile, bis das erste echte Zeichen kommt.
Das Ergebnis wäre dann sowas:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
function MaxString(maximum, outputid, inputid){ var value; value = maximum - document.getElementById(inputid).value.length; if(value < 0){ document.getElementById(inputid).value = document.getElementById(inputid).value.substring(0,maximum); value = maximum - document.getElementById(inputid).value.length; } if(value == maximum){ document.getElementById(outputid).innerHTML = "maximal"; } else { document.getElementById(outputid).innerHTML = "noch " + value + " von"; } }
freue mich über jeden Tipp!
Gruß
Laura
-
-
Hi Sven,
das sieht gut aus! Danke! Das mit dem "prototype" hat aber nichts mit prototype.js zu tun, also dieses weltberühmte Framework?
Wie kann ich über eine Variable loopen, die zwar einen riesigen String enthält, der jedoch "intern" viele viele Zeilen hat? Also viele New-Line Sonderzeichen? Da muss man mit einer Schleife drüber um dann "Zeile für Zeile" zu betrachten, richtig?
Gruß
Laura
-
Hallo Laura,
sieh dir das hier mal an. Wird dich vielleicht interessieren und deine Frage beantworten.
-
Schon, Prototype.js macht in größerem Maßstab genau das, was hier getan wurde. Das Framework wurde danach benannt.
Geht auch ohne Loops, einfach den RegExp anpassen:Ansonsten würde ich folgendes tun, um die Zeichenkette Zeilenweise durchzugehen:Code :1
/\s+$|^\s+/mg
(angenommen str ist der zu Verarbeitende Text)
Code :1 2 3 4 5
var lines = str.split("\n"); for (var i = 0; i < lines.length; i++) { // Code zum Verarbeiten }
Edit: Ich sollte echt erstmal das Antwortfenster aktualisieren, bevor ich antworte, wenn ich das Fenster vor 20 Minuten geöffnet habe.
-
Falls die Ümbrüche selbst erhalten bleiben solln, müsste es dann so aussehen:
Code :1
/(^[^\S\n\r]+|[^\S\n\r]+$)/gm
@DataFox:
Ums kurz zu Fassen, was prototype ist:
Es ist eine Eigenschaft von JS-Objekten, welche einen Zeiger auf die Konstruktor-Funktion des Objektes liefert. Über diesen Zeiger kannst du den Konstruktor des Objektes um neue Eigenschaften und Methoden erweitern...in diesem Fall das in JS implementierte String-Objekt
Oder ganz kurz:
Nein, aber per prototype kann man sie hinzufügen, was nicht passt wird halt passend gemacht
Zitat von DataFox
Ähnliche Themen
-
HTML rausfiltern
Von Merlin732 im Forum PHPAntworten: 2Letzter Beitrag: 06.10.05, 11:15 -
Sonderzeichen rausfiltern
Von Wissenscoder im Forum PHPAntworten: 2Letzter Beitrag: 06.03.05, 10:58 -
Stimme rausfiltern
Von d4kine im Forum Audiotechnik, Recording & Audio-SoftwareAntworten: 4Letzter Beitrag: 31.01.05, 20:41 -
Zeilenumbruch rausfiltern
Von js-mueller im Forum PHPAntworten: 5Letzter Beitrag: 11.02.04, 21:02 -
Hintergrundgeräusche rausfiltern
Von möp im Forum Audiotechnik, Recording & Audio-SoftwareAntworten: 0Letzter Beitrag: 16.05.03, 10:00



Zitieren


Login





Lesezeichen