GithubHelp home page GithubHelp logo

Comments (11)

bvaughn avatar bvaughn commented on May 18, 2024 1

By the way, this is a regex-friendly component so you could always accomplish this via regex too. For example, to use your example above, instead of passing "and" you'd pass "\band".

It did not occur to me to point this out earlier. 😄

from react-highlight-words.

bvaughn avatar bvaughn commented on May 18, 2024

Would be great with an option to make it NOT match unless the words is limited by a word delimiter.

I don't see how [and]erson is any more of a full word than b[and].

from react-highlight-words.

bvaughn avatar bvaughn commented on May 18, 2024

This component does case-insensitive string matching in the same way that browser text search does. It would be possible to add support for prefix strings only (like I think you're requesting) but it's not a feature I've needed.

from react-highlight-words.

peterbe avatar peterbe commented on May 18, 2024

I don't see how [and]erson is any more of a full word than b[and].

I'd need for a search functionality. I display the results as the user types. Perhaps she's typed "and" in the midst of typing "anderson".

from react-highlight-words.

bvaughn avatar bvaughn commented on May 18, 2024

Sounds like you want to enforce prefix string matching.

This component isn't meant for that (currently). It just does simple sub-string matching (again, like the browser does when you search text).

If you'd be interested in contributing though, it probably wouldn't be too hard to add support for this. :)

from react-highlight-words.

peterbe avatar peterbe commented on May 18, 2024

I might take a stab.
Many years ago I wrote this function.
If the text is "ian anderson is a band member" and the terms are ["and"] the outcome becomes "ian <b>anderson</b> is a band member".

That's quite nice when you're doing autocomplete because the back-end service will suggest "peter bengtsson", if the user has typed "ben".

See http://codepen.io/peterbe/pen/akXvJm?editors=0011#0

One neat feature of this is that if you have a stemmer to help, and the user types "searching" or "searches" it might find "searched" or "searcher". Quite fuzzy but potentially useful.

from react-highlight-words.

bvaughn avatar bvaughn commented on May 18, 2024

Right, right. This component isn't intended for filtering, just sub-string highlighting. But I could see the usefulness for configuring its highlights to more closely match whatever searching/filtering library you're using. I just don't have the time to add it at the moment. :D

Btw I have some other libs you may find interesting if you're into search/stemming/etc. 😄 js-search, js-worker-search, treasure-data/redux-search.

from react-highlight-words.

peterbe avatar peterbe commented on May 18, 2024

Wow! That's really useful. I actually already got started with Elasticlunr.js. It was the best I could find when I did some googling. Now I definitely need to check out this js-search of yours. I like the idea of being able to stuff it in a web worker.

from react-highlight-words.

bvaughn avatar bvaughn commented on May 18, 2024

:D Thanks!

I'm using redux-search (which is built on top of js-worker-search) in a production application right now and it's working great. No lag at all, even when indexing and searching many thousands of records.

from react-highlight-words.

bvaughn avatar bvaughn commented on May 18, 2024

Closed due to inactivity.

from react-highlight-words.

danloiterton avatar danloiterton commented on May 18, 2024

I was looking for this functionality also. Thanks for pointing out the regex option! I had to escape the word boundary though - so "\\band", for example.

from react-highlight-words.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.