Autor | Zpráva | ||
---|---|---|---|
Anonymní Profil * |
#1 · Zasláno: 23. 12. 2004, 13:45:53
dobry !!
napisal som si taky jednoduchy script: <script language="JavaScript"> tie prve dve funkcie mi pocitaju znaky a "slova" (medzery) no a chcel by som ich obohatit o nieco, co by udavalo, ze ked je nieco medzi < a > ((X)HTML) aby to do suctu neratalo da sa to ? no a keby to slo, chcel by som aj zmenit to pocitanie slov tak, aby to pocitalo skutocne slova, a nie medzery. (ked dam 15 madzier za sebo a ni jeden znak, berie to ako 15 slov) no a ten druhy kod mi zabrani (kvoli naslednemu spracovaniu textu) davat enter pred 300 znakmi (podla prhlidaca). a chcel by som to zmenit nejak tak (schema): function cislo(){ nieako tak. chapete ako to mzslim ?? prosim pomozte, velmi y som to potreboval. dakujem |
||
Fred Profil |
#2 · Zasláno: 23. 12. 2004, 15:50:03
Vypadá to takový IE only, něco podobného je tady počítání znaků v textarea
|
||
Anonymní Profil * |
#3 · Zasláno: 24. 12. 2004, 13:05:27
me e e e ::::::::
prosiiim :::::::::.. |
||
Yuhů Profil |
#4 · Zasláno: 24. 12. 2004, 16:37:31
tohle absolutně nechápu:
> no a chcel by som ich obohatit o nieco, co by udavalo, ze ked je nieco medzi < a > ((X)HTML) > aby to do suctu neratalo da sa to ? |
||
Leo Profil |
#5 · Zasláno: 24. 12. 2004, 17:01:45
Videl bych to jedine na regularni vyrazy v JavaScriptu, Leo
|
||
Anonymní Profil * |
#6 · Zasláno: 24. 12. 2004, 17:02:31
ahoj ahoj <b> bla bla bla </b> - to by bolo 30 znakov.
ja chcem aby to bolo len 23. aby sa neratalo <b> a </b> . rozumjes ? |
||
Yuhů Profil |
#7 · Zasláno: 25. 12. 2004, 12:16:25
no.... to je asi trochu složitější. Asi bych udělal nový string (proměnnou),
naplnil ji nějakým regulárem z původního řetězce (tohle z hlavy napsat neumím) a pak bych spočítal znaky té proměnné. |
||
Leo Profil |
#8 · Zasláno: 25. 12. 2004, 12:27:30
var text = "bl<a>a bla <b class='neco'>ahoj</b>j";
var rv = /<[^>]*>/g; var pole = text.match(rv); var pocetznaku = text.length; for (var i=0;i<pole.length;i++) pocetznaku = pocetznaku - pole[i].length; alert(pocetznaku); V promenne rv je regularni vyraz, ktery najde vsechny casti mezi <> (ale takove, ze v nich neni ukoncovaci znak >), vezme to v potaz i neukoncene tagy. Fce match rv pouzije aby vratila pole vsech nalezenych vyskytu. Cyklus for projde toto pole a odecita delky techto jalovych casti od cele delky retezce (pocetznaku). Snad to bude behat. Leo |
||
Yuhů Profil |
#9 · Zasláno: 25. 12. 2004, 15:21:51
Běhá to, otestoval jsem to. Dobrá práce, vidím, že se mám ještě co učit.
Jediné, co tam nechápu, je to, proč na řádku var rv = /<[^>]*>/g; není to /<[^>]*>/g v uvozovkách. Zjistil jsem, že to s uvozovkami nefunguje, ale nevím proč. |
||
Leo Profil |
#10 · Zasláno: 25. 12. 2004, 16:08:20
Kdyby to bylo v uvozovkach, tak by to byl retezec - a hledalo by to v textu presne tohle:
/<[^>]*>/g Takhle - bez uvozovek - je to zapis regularniho vyrazu, a to je jiny typ promenne, nez string. V regularnich vyrazech je sila, a je skoda, ze se o nich bezne knizky o JavaScriptu moc nezminuji, i kdyz podpora v prohlizecich je velka (napriklad fce match beha od JavaScriptu 1.2 - to odpovida Netscape 4 a od JScriptu 3.0 - ten je implementovany v IE4), Leo |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0