Hirdetés

Új hozzászólás Aktív témák

  • Taci

    addikt

    válasz cattus #8615 üzenetére

    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