- Úgy tér vissza a Commodore 64, ahogy titkon mindenki várja
- A hírek szerint a jövő év végére érkezhet a sokat pletykált NVIDIA N1X SoC
- Egy gyártási hiba miatt nem bootolhatnak bizonyos Minisforum PC-k
- Véget vetne a hibrid magdizájnnak az Intel?
- Elképesztően drága az új Ryzen Threadripper PRO generáció
- Milyen billentyűzetet vegyek?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Kompakt vízhűtés
- Léghűtés topik
- Milyen pendrive-ot vegyek?
- Úgy tér vissza a Commodore 64, ahogy titkon mindenki várja
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
- Méretes QD-OLED monitor jött az ASUS ROG-os portfóliójába
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- ROG Strix G16 notebook: tökéletes harmónia
Ú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
- Milyen billentyűzetet vegyek?
- RETRO beárazás (mobil, PC, konzol)
- Mozilla Firefox
- Kerékpárosok, bringások ide!
- Renault, Dacia topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Aurát vált a Vivo V60
- Nintendo Switch 2
- Kompakt vízhűtés
- Sütés, főzés és konyhai praktikák
- További aktív témák...
- BESZÁMÍTÁS! HTC VIVE Pro 2 virtuális valóság szemüveg garanciával hibátlan működéssel
- BESZÁMÍTÁS! LG 32GR93U-B 144Hz 4K UHD IPS 1ms monitor garanciával hibátlan működéssel
- BESZÁMÍTÁS! LG 38GN950P-B 160Hz QHD+ IPS 1ms monitor garanciával hibátlan működéssel
- Bontatlan MacBook Air M4 13"/16GB/256ssd/1 Év Apple Gar./p4372
- Apple Watch 8 41 mm Újszerű/1-3 hónap gar./Akku 93%/p4371
- Telefon felvásárlás!! Samsung Galaxy S23/Samsung Galaxy S23+/Samsung Galaxy S23 Ultra
- Akciós Windows 10 / 11 Pro OEM Licenc Kulcs 100% eredeti, jogtiszta!
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- 118 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 9 7945HX, RTX 4070 (ELKELT)
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest