https://github.com/dailybothq/search-text-highlight
This tool allow find a string or substring from a text and highlight it with html wrapper with unicode support.
https://github.com/dailybothq/search-text-highlight
highlight html-wrapper nodejs search text unicode-support
Last synced: about 2 months ago
JSON representation
This tool allow find a string or substring from a text and highlight it with html wrapper with unicode support.
- Host: GitHub
- URL: https://github.com/dailybothq/search-text-highlight
- Owner: DailyBotHQ
- License: mit
- Created: 2019-09-10T14:49:04.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2025-10-07T20:04:37.000Z (8 months ago)
- Last Synced: 2025-10-07T22:08:53.530Z (8 months ago)
- Topics: highlight, html-wrapper, nodejs, search, text, unicode-support
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/search-text-highlight
- Size: 752 KB
- Stars: 16
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Search Text Highlight
This tool lets you find a string or substring in text and highlight it with an HTML wrapper, with Unicode support.
---
[](https://github.com/DailyBotHQ/search-text-highlight/blob/main/LICENSE)
[](https://github.com/DailyBotHQ/search-text-highlight)
[](https://www.npmjs.com/package/search-text-highlight)
## Installation
```
npm install search-text-highlight --save
or
yarn add search-text-highlight
```
## Usage
Import
```javascript
// ES6 import
→ import searchTextHL from 'search-text-highlight'
or
// CommonJS require
→ const searchTextHL = require('search-text-highlight')
```
Basic usage
```javascript
→ const text = 'This is a simple but an amazing tool for text highlight 😎.'
→ const query = 'amazing'
→ searchTextHL.highlight(text, query)
This is a simple but an amazing tool for text highlight 😎.
```
Highlight multiple match substrings.
```javascript
→ const text = 'This is a simple but an amazing tool for text highlight 😎.'
→ const query = 'a'
→ searchTextHL.highlight(text, query)
This is a simple but an amazing tool for text highlight 😎.
```
Customize html tag; the default is a `span`.
```javascript
→ const text = 'This is a simple but an amazing tool for text highlight 😎.'
→ const query = 'amazing'
→ const options = { htmlTag: 'label' }
→ searchTextHL.highlight(text, query, options)
This is a simple but an amazing tool for text highlight 😎.
```
Customize highlight class.
```javascript
→ const text = 'This is a simple but an amazing tool for text highlight 😎.'
→ const query = 'amazing'
→ const options = { htmlTag: 'label', hlClass: 'custom-class' }
→ searchTextHL.highlight(text, query, options)
This is a simple but an amazing tool for text highlight 😎.
```
Highlight only the first query match.
```javascript
→ const text = 'This is a simple but an amazing tool for text highlight 😎.'
→ const query = 'a'
→ const options = { htmlTag: 'label', hlClass: 'custom-class', matchAll: false }
→ searchTextHL.highlight(text, query, options)
This is a simple but an amazing tool for text highlight 😎.
```
Highlight with a case sensitive query
```javascript
→ const text = 'This is a simple but an amazing tool for text highlight 😎.'
→ const query = 'AMAZING'
→ const options = { caseSensitive: true }
→ searchTextHL.highlight(text, query, options)
This is a simple but an amazing tool for text highlight 😎.
```
## All value params for `highlight` method
| Name | Type | Default | Description |
| :------ | :----- | :------ | :------------------------------------ |
| text | string | '' | base message |
| query | string | '' | substring for highlight in message |
| options | object | {} | parameterizable options for highlight |
### All properties of highlight `options`
| Name | Type | Default | Description |
| :------------ | :------ | :--------------- | :------------------------------------------------------------------------------------- |
| htmlTag | string | 'span' | custom highlight HTML Tag wrapper |
| hlClass | string | 'text-highlight' | custom highlight class |
| matchAll | boolean | true | match all instances of the query in text message, not just one |
| caseSensitive | boolean | false | match query text distinguish between uppercase (capital) and lowercase (small) letters |
### Css Styles
Use these css styles in your html code to highlight the found text.
```css
:root {
--light-blue-color: #b1d9ff;
--dark-blue-color: #508fca;
}
.text-highlight {
background: var(--light-blue-color);
border-radius: 2px;
padding: 0 2px;
border: 1px solid var(--dark-blue-color);
}
```
## :electric_plug: Powered by [DailyBot](https://www.dailybot.com?utm_source=dailybotopensource&utm_medium=search-text-highlight)
DailyBot is an [AI Assistant](https://www.dailybot.com/product/ai) powered by ChatGPT that takes chat and collaboration to the next level helping to automate: daily standups, team check-ins, surveys, kudos, virtual watercooler, 1:1 intros, motivation tracking, chatops and more. [Learn more](https://www.dailybot.com?utm_source=dailybotopensource&utm_medium=search-text-highlight).
## License
Search text highlight is [MIT licensed](./LICENSE).