- Melyik tápegységet vegyem?
- Gaming notebook topik
- Autós kamerák
- Először égett le egy újságnál a GeForce RTX 5090
- Apple MacBook
- Amlogic S905, S912 processzoros készülékek
- TCL LCD és LED TV-k
- Nem indul és mi a baja a gépemnek topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Azonnali informatikai kérdések órája
Hirdetés
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
PazsitZ #3903 üzenetére
Még korábban én is barkácsoltam ilyen rövidítő kódot, de nem olyan egyszerű (még az enyém sincs kész csak félig-meddig ), mondjuk nálam az is szempont, hogy a szövegben lévő tag-ek is érvényesek maradjanak.
Pedig ez nem túl bonyolult feladat, a lényege, hogy szét kell bontani szavakra a szöveget. Kétfajta szó lesz benne: html tag-ek és sima szavak. Ezután végigmész a szavakon és a következő algoritmust használod (kell hozzá egy verem és fontos a sorrend):
- Ha az aktuális szó nem html tag, akkor kiírod az output-ra és növeled a kiírt karakterek/szavak számát.
- Ha az aktuális szó nyitó és záró tag egyben, akkor kiírod az output-ra. (Például ilyen a <br />, aminek nincs záró tag-je, mert már le van zárva).
- Ha az aktuális szó html nyitó tag, akkor kiírod az output-ra és a html tag-et lerakod a verembe. (tehát csak magát a tag-et, az attribútumokat nem). Példa egy veremre: {'span', 'a', 'div'}
- ha az aktuális szó egy html lezáró tag (pl. </div>), akkor kiírod az output-ra és a veremből addig dobálod ki a tag-eket, amíg ki nem dobtad az aktuális html lezáró tag párját.Az iterációnak akkor van vége, ha elfogytak a szavak, vagy a kiírt karakterek/szavak száma elérte az előre meghatározott limitet. Ezután a veremben maradt elemeket kidobálod és mindegyikre kiírod a hozzá tartozó lezáró html tag-et. (Tehát ha a verem tetején egy div tag van, akkor azt fogod kiírni, hogy </div>, ezután pedig kiszeded a veremből.
Az algoritmus pár lényeges tulajdonsága:
- Megőrzi a html tag-eket.
- Csak a képernyőn látható betűket/szavakat számolja, a html tag-eket nem.
- Ha a szövegedben vannak lezáratlan tag-ek, akkor is működik. Ha a szövegben olyan lezáró tag van, aminek nincs nyitó párja, akkor nem működik helyesen, de kiegészíthető, hogy erre az esetre is jó legyen.
- Az algoritmus kimenetében nem lesznek lezáratlan html tag-ek.
- Bizonyos tag-eket a böngészők automatikusan lezárnak (pl. br, hr), ezek felismerésével ki kell egészíteni az algoritmust.
Új hozzászólás Aktív témák
- Naim Mu-so 2 Vezetéknélküli all-in-one hi-fi rendszer
- Új/Bontatlan/Garis Google Pixel 9 Peony
- R7 9800X3D/XFX 7900GRE/2x16GB DDR5 6000Mhz/2TB NVMe SSD
- Szép állapot!! Hátlapon kisebb kopások!!! Samsung Galaxy S20 FE SM-G780G/DS - világoskék
- MacBook Air M1 / 2020 / Ezüst / 13" / 256 GB / 8 GB / DOBOZ / GYÁRI TARTOZÉKOK /
- GYÖNYÖRŰ iPhone 13 mini 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3037, 96% Akkumulátor
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- Dell USB-C, Thunderbolt 3, TB3, TB4 dokkolók (K20A) WD19TB/ WD19TBS/ WD22TB4, (K16A) TB16/ TB18DC
- Eladó karcmentes Moto G31 4/64GB / 12 hó jótállással
- Apple iPhone 12 / 128GB / Gyárifüggetlen / 12Hó Garancia / 100% akku
Állásajánlatok
Cég: FOTC
Város: Budapest