- Házimozi belépő szinten
- Az AMD-vel tervezi a következő generációs Xboxokat a Microsoft
- Azonnali notebookos kérdések órája
- Melyik tápegységet vegyem?
- Sony MILC fényképezőgépcsalád
- Három éven belül megelőzheti a szerverprocesszorok piacán az Intelt az AMD
- Vezeték nélküli fülhallgatók
- Házimozi haladó szinten
- A világ leggyorsabb SRAM dizájn-ját kínálja a Marvell
- OLED TV topic
-
PROHARDVER!
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
textToMark
tartalmá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
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Tarr Kft. kábeltv, internet, telefon
- Azonnali fáradt gőzös kérdések órája
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Egyre csak fejlődik az AI, emberek tízezreit rúgja majd ki a BT
- Házimozi belépő szinten
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Az AMD-vel tervezi a következő generációs Xboxokat a Microsoft
- Samsung Galaxy A36 5G - a középső testvér
- Milyen légkondit a lakásba?
- További aktív témák...
- iKing.Hu - Motorola Edge 50 Ultra - Nordic Wood - Használt, karcmentes
- Telefon felvásárlás!! Samsung Galaxy A50/Samsung Galaxy A51/Samsung Galaxy A52/Samsung Galaxy A53
- BESZÁMÍTÁS! Gigabyte H510M i5 11400F 16GB DDR4 512GB SSD GTX 1070Ti 8GB Rampage SHIVA TT 500W
- AKCIÓ! Gigabyte H610M i5 12400F 16GB DDR4 512GB SSD RX 6700XT 12GB Zalman S2 TG Seasonic 650W
- Bomba ár! Lenovo ThinkPad T490s - i5-8GEN I 16GB I 512SSD I 14" FHD I Cam I W11 I Gari!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest