-
Fototrend
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
- Path of Exile (ARPG)
- Miért vezet mindenki úgy, mint egy állat?
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Szeged és környéke adok-veszek-beszélgetek
- Autós topik
- Webes drivert fejleszt a Razer
- The Division 2 (PC, XO, PS4)
- Gaming notebook topik
- VR topik
- További aktív témák...
- Szinte Új Razer Kraken 2019 Fekete/Fehér/Zöld Bolti ár:20k INGYEN FOXPOST
- Razer Kraken Kitty USB Bolti ár:30k INGYEN FOXPOST
- Eladó Cooler Master MWE 750 GOLD V2 fully modular táp
- Razer Kaira for PlayStation Bolti ár:40k INGYEN FOXPOST
- Gtx 1660 Super/ i5 10400F/ 16GB Corsair/ 500GB M2 250GB SATA SSD/ WIN 11
- Apple iPhone 14 Pro max 256GB,Újszerű,Dobozaval,12 hónap garanciával
- 360 áthajthatós! Dell Latitude 5330 2 in 1 i7-1265U 10magos! 16GB 1000GB 13.3" FHD 1 év garancia
- GYÖNYÖRŰ iPhone 12 mini 64GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3851
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
- Apple iPhone 13 Mini 128 GB Fekete 1 év Garancia Beszámítás Házhozszállítás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

