Zum Inhalt springen

aus x Zeilen eine Liste machen


Jaraz

Empfohlene Beiträge

Hallo,

ich habe in einer Variable aus einer Textarea 3 Zeilen, diese 3 Zeilen möchte ich per Javascript als komplette html Liste ausgeben, also:

aus:

aaa

bbb

ccc

mache:

<ul>

<li>aaa</li>

<li>bbb</li>

<li>ccc</li>

</ul>

Hat da jemand irgendwo einen fertigen Codeblock? ;)

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Einen Codeschnipsel habe ich gerade nicht zur Hand, aber mit der Methode split() des string-Objektes und der Methode write des document-Objektes sollte es gehen.

Mit erster splittest Du den Text über den Zeilenumbruch auf (\n z.B.), das resultierende Array kann dann in einer For-Schleife abgearbeitet werden.

Mit document.write() kannst Du dann den HTML-Code des Tabellenkonstruktes ausgeben.

- Monty

Link zu diesem Kommentar
Auf anderen Seiten teilen


$string = $_POST['textarea'];
$string = str_replace('\n','</li>\n<li>');
$string = "<ul>\n<li>".$string."</li>\n</ul>";
[/PHP]

das sollte gehen....

Öhm, ich wollte Javascript. ;)

Alles muss man selber machen: :(

[code] strSelection = trim(strSelection); strSelection = strSelection.replace(/\r\n/g, "\n"); strSelection = strSelection.replace(/\n/g, "</li>\n<li>"); document.selection.createRange().text = "<ul>\n<li>" + strSelection + "</li>\n</ul>"; function trim(inputString) { if (typeof inputString != "string") return inputString; return inputString //clear leading spaces and empty lines .replace(/^(\s|\n|\r)*((.|\n|\r)*?)(\s|\n|\r)*$/g,"$2") //take consecutive spaces down to one .replace(/(\s(?!(\n|\r))(?=\s))+/g,"") //take consecutive lines breaks down to one .replace(/(\n|\r)+/g,"\n\r") //remove spacing at the beginning of a line .replace(/(\n|\r)\s/g,"$1") //remove spacing at the end of a line .replace(/\s(\n|\r)/g,"$1"); } [/code]

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

*gg* VORSICHT

so sachen wie .createRange funktionieren bei weitem nicht in allen Browsern.

Ich kann nachher mal meinen Code raussuchen...sollte da noch was für Cross-Browser haben....

ansonsten...Javascript...ja hast recht...wer lesen kann ist klar im vorteil ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

*gg* VORSICHT

so sachen wie .createRange funktionieren bei weitem nicht in allen Browsern.

Ich kann nachher mal meinen Code raussuchen...sollte da noch was für Cross-Browser haben....

Ja, das war auch nur der IE Teil der Funktion, den Mozilla Part hatte ich noch nicht angepasst. Der Rest ist bei der Funktion egal, weil es eine Backend Funktion ist und die anderen halt die Liste von Hand tippen müssen. ;)

Wer mit was anderen als IE oder Mozilla surft, kann das aber auch. ;)

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...