Veröffentlicht 10. Mai 200520 j 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
10. Mai 200520 j 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
10. Mai 200520 j $string = $_POST['textarea']; $string = str_replace('\n','</li>\n<li>'); $string = "<ul>\n<li>".$string."</li>\n</ul>"; [/PHP] das sollte gehen....
11. Mai 200520 j $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
12. Mai 200520 j *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 ^^
12. Mai 200520 j *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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.