Hirdetés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Szívós, szép és kitartó az új OnePlus óra
- Karácsonykor nyerte meg a Honor az üzemidőcsatát
- Így változik a Galaxy A37 és A57 kamerája
- Apple iPhone 16 Pro - rutinvizsga
- iPhone topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Honor Magic6 Pro - kör közepén számok
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Bemutatkozott a Redmi 13 4G
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
dqdb
nagyúr
Ajánlott előtte a
textToMarktartalmának escape-elése, ha véletlenül regex számára speciális karaktert tartalmazna.var textToMark = "a*b*c";
var textContainer = "xxxx A*B*C yyyy a*b*c zzzz";
var escapeRegex = new RegExp(/[.*+?^${}()|[\]\\]/g, "g");
console.log(textToMark);
var textToMark = "(" + textToMark.replaceAll(escapeRegex, "\\$&") + ")";
console.log(textToMark);
var replaceRegex = new RegExp(textToMark, "gi");
console.log(textContainer);
textContainer = textContainer.replaceAll(replaceRegex, "<mark>$1</mark>")
console.log(textContainer); -
Taci
addikt
Igen, ezzel valóban a jókat jelöli ki, viszont az a gond továbbra is, hogy ha csupa kisbetűvel írom be a keresőbe a szót (pl. "máté"), akkor hiába szerepel az eredeti tartalomban nagy kezdőbetűvel (pl. "Máté"), a keresési találatokban átírja a keresésben megadott formára.
Ha pl. a textContainer az, hogy
"Alszik Máté, mert elfáradt.", a keresési kifejezés pedig az, hogy "mÁtÉ", akkor bár kijelöli a megfelelő sztringet, viszont ez lesz a megjelenített sztring:"Alszik mÁtÉ, mert elfáradt."Így csináltam meg, legalábbis itt járok benne:
https://jsfiddle.net/j7qt4bva/Ha "normál kifejezésre" keresek (pl. "máté" vagy "apple"), tökéletesen működik, de rövidebbekre (pl. "a" vagy "az") végtelen cikulsba kerül valahol.
(Amúgy sanszos, hogy erősen túlbonyolítva csináltam meg...)
Az alapötlet az, hogy a keresett szó pozícióinak megkereséséhez csupa nagybetűssé alakítom a szöveget, amiben keresek, és a keresett szót is. Aztán ha megvan a pozíció (vagy pozíciók, több találatnál), akkor egy tömbbe szétvágom az eredeti sztringet a találat pozíciók végén. Majd ezeken belül megcsinálom az öleted alapján (RegExp "i") a <mark> tag hozzáadását úgy, hogy a már megszerzett pozíciók alapján kiszedem az eredeti karaktereket (így meglesz az a változat, hogy a kis- és nagybetűk az eredetiben vannak).
Aztán ezeket a tömbelemeket összefűzöm újra, és ezt adom vissza.Csak valahol rövid(ebb) karakterszámnál végtelen ciklusba futok.
Új hozzászólás Aktív témák
- Milyen billentyűzetet vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Azonnali alaplapos kérdések órája
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kerékpárosok, bringások ide!
- Tőzsde és gazdaság
- Vezetékes FEJhallgatók
- Víz- gáz- és fűtésszerelés
- Honda topik
- További aktív témák...
- GAMER RYZEN 5 3600X/ 16GB DDR4 / RX 5700XT 8GB / 128GB SSD / 1TB HDD
- Gamer : RTX 5070 12GB / 32GB DDR4 / Intel i5 14400 / 1TB NVME SSD /
- GAINWARD GeForce RTX 5070 Python III 12G 36 hónap alza gari - Bontatlan -
- Apple Iphone 16 128GB fekete, kártyafüggetlen, hibátlan, karcmentes
- Eladó Mini-ITX Gamer Alap - Intel i7-4790K, 16GB DDR3, Corsair Obsidian 250D Ház, 240 AIO Vízhűtés!
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Sérült I HDMI I W10 I CAM I Garancia
- Samsung Galaxy A17 5G / 8/256GB / 12Hó Garancia / Kártyafüggetlen / Akku 100%
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
- BESZÁMÍTÁS! GIGABYTE A520M R5 1400 8GB DDR4 256GB SSD 500GB HDD GTX 1050 Ti 4GB ZALMAN S3 400W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


