# Yahoo! UI Library

### highlight 3.3.0

Yahoo! UI Library > highlight > Highlight
Search:
Filters Show Private Show Protected Show Deprecated

## `static` Class Highlight

Provides methods for highlighting strings within other strings by wrapping them in HTML.

The highlight methods first escape any special HTML characters in the input strings and then highlight the appropriate substrings by wrapping them in a `<b class="yui3-highlight"></b>` element. The `<b>` element is used rather than `<strong>` in accordance with HTML5's definition of `<b>` as being purely presentational, which is exactly what highlighting is.

### Properties

#### _REGEX - `protected static final {String}`

Regular expression template for highlighting a match that occurs anywhere in a string. The placeholder `%needles` will be replaced with a list of needles to match, joined by `|` characters.

This regex should have two capturing subpatterns: the first should match an unclosed HTML entity (e.g. "&" without a ";" at the end) 0 or 1 times; the second should contain the `%needles` placeholder. The first subpattern match is used to emulate a negative lookbehind assertion, in order to prevent highlighting inside HTML entities.

#### _REPLACER - `protected static final {Function|String}`

Regex replacer function or string for normal matches.

#### _START_REGEX - `protected static final {String}`

Regular expression template for highlighting start-of-string matches (i.e., only matches that occur at the beginning of a string). The placeholder `%needles` will be replaced with a list of needles to match, joined by `|` characters.

See `_REGEX` for a description of the capturing subpatterns this regex should contain.

#### _TEMPLATE - `protected static final {String}`

Highlight template which will be used as a replacement for matched substrings. The placeholder `{s}` will be replaced with the matched substring.
Default Value: '{s}'

### Methods

#### all

`static String all ( haystack , needles , options )`
Highlights all occurrences in the haystack string of the items in the needles array, regardless of where they occur. The returned string will have all HTML characters escaped except for the highlighting markup.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings that should be highlighted.
  `options <Object>` (optional) Options object, which may contain zero or more of the following properties:
  caseSensitive (Boolean)
    If `true`, matching will be case-sensitive. Default is `false`.
  startsWith (Boolean)
    By default, needles are highlighted wherever they appear in the haystack. If `startsWith` is `true`, matches must be anchored to the beginning of the string.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### allCase

`static String allCase ( haystack , needles , options )`
Same as `all()`, but case-sensitive by default.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings that should be highlighted.
  `options <Object>` (optional) Options object. See `all()` for details.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### allFold

`static String allFold ( haystack , needles , options )`
Accent-folding version of `all()`.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings that should be highlighted.
  `options <Object>` (optional) Options object, which may contain zero or more of the following properties:
  startsWith (Boolean)
    By default, needles are highlighted wherever they appear in the haystack. If `startsWith` is `true`, matches must be anchored to the beginning of the string.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### start

`static String start ( haystack , needles , options )`
Highlights needles that occur at the start of haystack. The returned string will have all HTML characters escaped except for the highlighting markup.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings that should be highlighted.
  `options <Object>` (optional) Options object, which may contain zero or more of the following properties:
  caseSensitive (Boolean)
    If `true`, matching will be case-sensitive. Default is `false`.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### startCase

`static String startCase ( haystack , needles )`
Same as `start()`, but case-sensitive by default.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings that should be highlighted.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### startFold

`static String startFold ( haystack , needles )`
Accent-folding version of `start()`.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings that should be highlighted.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### words

`static String words ( haystack , needles , options )`
Highlights complete words in the haystack string that are also in the needles array. The returned string will have all HTML characters escaped except for the highlighting markup.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings containing words that should be highlighted. If a string is passed, it will be split into words; if an array is passed, it is assumed to have already been split.
  `options <Object>` (optional) Options object, which may contain zero or more of the following properties:
  caseSensitive (Boolean)
    If `true`, matching will be case-sensitive. Default is `false`.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### wordsCase

`static String wordsCase ( haystack , needles )`
Same as `words()`, but case-sensitive by default.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings containing words that should be highlighted. If a string is passed, it will be split into words; if an array is passed, it is assumed to have already been split.

Returns: `String`
  Escaped and highlighted copy of haystack.

#### wordsFold

`static String wordsFold ( haystack , needles )`
Accent-folding version of `words()`.

Parameters:
  `haystack <String>` String to apply highlighting to.
  `needles <String|Array>` String or array of strings containing words that should be highlighted. If a string is passed, it will be split into words; if an array is passed, it is assumed to have already been split.

Returns: `String`
  Escaped and highlighted copy of haystack.

Copyright © 2011 Yahoo! Inc. All rights reserved.