Extracts an excerpt from
text that matches the first instance of phrase. The
:radius option expands the excerpt on each side of the first
occurrence of phrase by the number of characters defined in
:radius (which defaults to 100). If the excerpt radius overflows the beginning
or end of the text, then the :omission option (which
defaults to "…") will be prepended/appended accordingly.
The resulting string will be stripped in any case. If the phrase
isn‘t found, nil is returned.
Examples
excerpt('This is an example', 'an', :radius => 5)
# => ...s is an exam...
excerpt('This is an example', 'is', :radius => 5)
# => This is a...
excerpt('This is an example', 'is')
# => This is an example
excerpt('This next thing is an example', 'ex', :radius => 2)
# => ...next...
excerpt('This is also an example', 'an', :radius => 8, :omission => '<chop> ')
# => <chop> is also an example
You can still use excerpt
with the old API that accepts the radius as its optional third and
the ellipsis as its optional forth parameter:
excerpt('This is an example', 'an', 5) # => ...s is an exam...
excerpt('This is also an example', 'an', 8, '<chop> ') # => <chop> is also an example