Autor Zpráva
radovan1
Profil *
Čaute
našiel som tu na webe ako sa dá písať priamo do tela stránky v reálnom čase tuto.
Dá sa pri tomto spôsobe zápisu formátovať text z textarey ? Nepotrebujem žiadne tažké formátovanie len odriadkovanie čiže \n
Keby som to nezapisoval priamo do tela stránky spravil by som to nasledovne:
$sprava= trim($sprava);
$sprava=str_replace("\n","<br>",$sprava);
peta
Profil
str = str.replace("\n","<br>");


<div id="nahled"></div>
<textarea rows="5" cols="40" onchange="
str = this.value;
str = str.replace(/^[\n\t\r\s]*|[\n\t\r\s]*$/g,''); // php trim, mozna [\W\D]*
str = str.replace('\n','<br>'); // php nl2br 
document.getElementById('nahled').innerHTML = str;
"></textarea>
Netestovano.
(<br> tam ma byt, forum z toho udela &lt, nevim proc)
radovan1
Profil *
peta:
skúsil som to a prvý enter sa odriadkuje ako má ten ďaľší úž nie vedeli by ste mi to ešte kúsok upraviť aby to bralo každý enter ako odriadkovanie ?
juriad
Profil
radovan1:
vyhoď petův 4. řádek, ten zahazuje prázdné řádky

peta:
ten trim ti stejně takto fungovat nebude
znaky ^, $ značí sice hranici řádky, ale nemůžeš napsat disjunkci způsobem, že buď začíná nebo končí; chápe to tak, že:
1/ začátek řádky
2/ potom nějaké whitespacy nebo nějaké whitespacy
3/ konec řádky
vyhodí tedy řádky, které obsahují pouze whitespacy
trim musíš provádět postupně, napřed odpředu a pak odzadu, dvěma voláními replace
radovan1
Profil *
juriad:
nepomohlo funguje to nasledovne pri texte

ads as (dam enter odriadkuje)
das asd (dam enter neodriadkuje text ide dalej) dasd ad a (dam enter neodriadkuje) adsa da
juriad
Profil
jo aha, musíš mu říct, aby nahradil všechny
str = str.replace('\n','&lt;br&gt;', 'g');
radovan1
Profil *
juriad:
doplnil som a nič funguje to rovnako bohužial
_es
Profil
juriad:
musíš mu říct, aby nahradil všechny
Ale nie tak, ale:
str = str.replace('/\n/g','&lt;br&gt;');
radovan1
Profil *
_es:
<textarea rows="5" cols="40" onkeypress="
str = this.value;
str = str.replace(/^[\n\t\r\s]*|[\n\t\r\s]*$/g,''); // php trim, mozna [\W\D]*
str = str.replace('/\n/g','<br>'); // php nl2br 
document.getElementById('nahled').innerHTML = str;
"></textarea>
<div id="nahled"></div>
teraz to mám podľa Vás po doplnení str = str.replace('/\n/g','<br>'); už mi neodriadkuje ani prvý enter
peta
Profil
radovan1:
zkus tam dat modifikatory ne g, ale gm. g = global, m = multiline.
<div id="nahled"></div>
<textarea rows="5" cols="40" onchange="
str = this.value;
str = str.replace(/(^[\n\t\r\s]*)|([\n\t\r\s]*$)/gm,''); // php trim, mozna [\W\D]*
str = str.replace(/[\n]/gm,'<br\/>'); // php nl2br 
document.getElementById('nahled').innerHTML = str;
"></textarea>

'\n' - to je string, ktery jsem pouzil ja (znak pro novy radek)
'/\n/g' - to je string, nesmysl, ktery jsi pouzil (lomitko, novy radek, lomitko, g - to jsi asi do textu nenapsal, takze nenasel zadnou shodu a vyjmenovany text nenahradil novym radkem)
/\n/g - to je reg. vyraz
new RegExp('\n','g') - to je reg. vyraz
radovan1
Profil *
peta,
ďakujem po úprave to už ide ešte sa chcem opýtať da sa to upraviť aby mi to bralo 2x enter za sebou ?
lebo teraz mi to pekne odriadkuje :
ads as (dam enter odriadkuje)
das asd (dam enter odriadkuje)
dasd ad a (dam enter a ešte raz enter neodriadkuje) adsa da
peta
Profil
str = str.replace(/(^[\n\t\r\s]*)|([\n\t\r\s]*$)/g,'');
Paradoxne to odmazava prave prvni radek, o kterem juriad prohlasoval, ze je spatne a on byl dobre :) Multiline hledal posledni \n pred nasledujicim textem, pak to povazoval za radek a z kazdeho radku odmazal ostatni entery pred a za textem. Kazdopadne si otestuj ruzne prohlizece, chovaji se obcas odlisne i pro reg. vyrazy.
radovan1
Profil *
peta:
Ďakujem Vám veľmi pekne za pomoc aj trpezlivosť so mnou už to teraz ide presne ako ma.
Chamurappi
Profil
Reaguji na peta:
Kazdopadne si otestuj ruzne prohlizece, chovaji se obcas odlisne i pro reg. vyrazy.
Příklad?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: