TextHelper
extends Helper
in package
Text helper library.
Text manipulations: Highlight, excerpt, truncate, strip of links, convert email addresses to mailto: links...
Tags
Table of Contents
Properties
- $Html : HtmlHelper
- $_config : array<string, mixed>
- Runtime config
- $_configInitialized : bool
- Whether the config property has already been configured with defaults
- $_defaultConfig : array<string, mixed>
- Default config for this class
- $_engine : Text
- Cake Utility Text instance
- $_helperMap : array<string, array<string|int, mixed>>
- A helper lookup table used to lazy load helper objects.
- $_placeholders : array<string, array<string|int, mixed>>
- An array of hashes and their contents.
- $_View : View
- The View instance this helper is attached to
- $helpers : array<string|int, mixed>
- helpers
Methods
- __call() : mixed
- Call methods from String utility class
- __construct() : mixed
- Constructor
- __debugInfo() : array<string, mixed>
- Returns an array that can be used to describe the internal state of this object.
- __get() : Helper|null|void
- Lazy loads helpers.
- addClass() : array<string, mixed>
- Adds the given class to the element options
- autoLink() : string
- Convert all links and email addresses to HTML links.
- autoLinkEmails() : string
- Adds email links (<a href="mailto:....") to a given text.
- autoLinkUrls() : string
- Adds links (<a href=....) to a given text, by finding text that begins with strings like http:// and ftp://.
- autoParagraph() : string
- Formats paragraphs around given text for all line breaks <br /> added for single line return <p> added for double line return
- configShallow() : $this
- Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.
- excerpt() : string
- Extracts an excerpt from the text surrounding the phrase with a number of characters on each side determined by radius.
- getConfig() : mixed
- Returns the config.
- getConfigOrFail() : mixed
- Returns the config for this specific key.
- getView() : View
- Get the view instance this helper is bound to.
- highlight() : string
- Highlights a given phrase in a text. You can specify any expression in highlighter that may include the \1 expression to include the $phrase found.
- implementedEvents() : array<string, mixed>
- Event listeners.
- initialize() : void
- Constructor hook method.
- setConfig() : $this
- Sets the config.
- slug() : string
- Returns a string with all spaces converted to dashes (by default), characters transliterated to ASCII characters, and non word characters removed.
- tail() : string
- Truncates text starting from the end.
- toList() : string
- Creates a comma separated list where the last two items are joined with 'and', forming natural language.
- truncate() : string
- Truncates text.
- _configDelete() : void
- Deletes a single config key.
- _configRead() : mixed
- Reads a config key.
- _configWrite() : void
- Writes a config key.
- _confirm() : string
- Returns a string to be used as onclick handler for confirm dialogs.
- _insertPlaceHolder() : string
- Saves the placeholder for a string, for later use. This gets around double escaping content in URL's.
- _linkEmails() : string
- Links email addresses
- _linkUrls() : string
- Replace placeholders with links.
Properties
$Html
public
HtmlHelper
$Html
$_config
Runtime config
protected
array<string, mixed>
$_config
= []
$_configInitialized
Whether the config property has already been configured with defaults
protected
bool
$_configInitialized
= false
$_defaultConfig
Default config for this class
protected
array<string, mixed>
$_defaultConfig
= ['engine' => \Cake\Utility\Text::class]
$_engine
Cake Utility Text instance
protected
Text
$_engine
$_helperMap
A helper lookup table used to lazy load helper objects.
protected
array<string, array<string|int, mixed>>
$_helperMap
= []
$_placeholders
An array of hashes and their contents.
protected
array<string, array<string|int, mixed>>
$_placeholders
= []
Used when inserting links into text.
$_View
The View instance this helper is attached to
protected
View
$_View
$helpers
helpers
protected
array<string|int, mixed>
$helpers
= ['Html']
Methods
__call()
Call methods from String utility class
public
__call(string $method, array<string|int, mixed> $params) : mixed
Parameters
- $method : string
-
Method to invoke
- $params : array<string|int, mixed>
-
Array of params for the method.
Return values
mixed —Whatever is returned by called method, or false on failure
__construct()
Constructor
public
__construct(View $view[, array<string, mixed> $config = [] ]) : mixed
Settings:
-
engine
Class name to use to replace String functionality. The class needs to be placed in theUtility
directory.
Parameters
- $view : View
-
the view object the helper is attached to.
- $config : array<string, mixed> = []
-
Settings array Settings array
Tags
__debugInfo()
Returns an array that can be used to describe the internal state of this object.
public
__debugInfo() : array<string, mixed>
Return values
array<string, mixed>__get()
Lazy loads helpers.
public
__get(string $name) : Helper|null|void
Parameters
- $name : string
-
Name of the property being accessed.
Return values
Helper|null|void —Helper instance if helper with provided name exists
addClass()
Adds the given class to the element options
public
addClass(array<string, mixed> $options, string $class[, string $key = 'class' ]) : array<string, mixed>
Parameters
- $options : array<string, mixed>
-
Array options/attributes to add a class to
- $class : string
-
The class name being added.
- $key : string = 'class'
-
the key to use for class. Defaults to
'class'
.
Return values
array<string, mixed> —Array of options with $key set.
autoLink()
Convert all links and email addresses to HTML links.
public
autoLink(string $text[, array<string, mixed> $options = [] ]) : string
Options
-
escape
Control HTML escaping of input. Defaults to true.
Parameters
- $text : string
-
Text
- $options : array<string, mixed> = []
-
Array of HTML options, and options listed above.
Tags
Return values
string —The text with links
autoLinkEmails()
Adds email links (<a href="mailto:....") to a given text.
public
autoLinkEmails(string $text[, array<string, mixed> $options = [] ]) : string
Options
-
escape
Control HTML escaping of input. Defaults to true.
Parameters
- $text : string
-
Text
- $options : array<string, mixed> = []
-
Array of HTML options, and options listed above.
Tags
Return values
string —The text with links
autoLinkUrls()
Adds links (<a href=....) to a given text, by finding text that begins with strings like http:// and ftp://.
public
autoLinkUrls(string $text[, array<string, mixed> $options = [] ]) : string
Options
-
escape
Control HTML escaping of input. Defaults to true.
Parameters
- $text : string
-
Text
- $options : array<string, mixed> = []
-
Array of HTML options, and options listed above.
Tags
Return values
string —The text with links
autoParagraph()
Formats paragraphs around given text for all line breaks <br /> added for single line return <p> added for double line return
public
autoParagraph(string|null $text) : string
Parameters
- $text : string|null
-
Text
Tags
Return values
string —The text with proper
and
tags
configShallow()
Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.
public
configShallow(array<string, mixed>|string $key[, mixed|null $value = null ]) : $this
Setting a specific value:
$this->configShallow('key', $value);
Setting a nested value:
$this->configShallow('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Parameters
- $key : array<string, mixed>|string
-
The key to set, or a complete array of configs.
- $value : mixed|null = null
-
The value to set.
Return values
$thisexcerpt()
Extracts an excerpt from the text surrounding the phrase with a number of characters on each side determined by radius.
public
excerpt(string $text, string $phrase[, int $radius = 100 ][, string $ending = '...' ]) : string
Parameters
- $text : string
-
String to search the phrase in
- $phrase : string
-
Phrase that will be searched for
- $radius : int = 100
-
The amount of characters that will be returned on each side of the founded phrase
- $ending : string = '...'
-
Ending that will be appended
Tags
Return values
string —Modified string
getConfig()
Returns the config.
public
getConfig([string|null $key = null ][, mixed $default = null ]) : mixed
Usage
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key');
Reading a nested value:
$this->getConfig('some.nested.key');
Reading with default value:
$this->getConfig('some-key', 'default-value');
Parameters
- $key : string|null = null
-
The key to get or null for the whole config.
- $default : mixed = null
-
The return value when the key does not exist.
Return values
mixed —Configuration data at the named key or null if the key does not exist.
getConfigOrFail()
Returns the config for this specific key.
public
getConfigOrFail(string $key) : mixed
The config value for this key must exist, it can never be null.
Parameters
- $key : string
-
The key to get.
Tags
Return values
mixed —Configuration data at the named key
getView()
Get the view instance this helper is bound to.
public
getView() : View
Return values
View —The bound view instance.
highlight()
Highlights a given phrase in a text. You can specify any expression in highlighter that may include the \1 expression to include the $phrase found.
public
highlight(string $text, string $phrase[, array<string, mixed> $options = [] ]) : string
Parameters
- $text : string
-
Text to search the phrase in
- $phrase : string
-
The phrase that will be searched
- $options : array<string, mixed> = []
-
An array of HTML attributes and options.
Tags
Return values
string —The highlighted text
implementedEvents()
Event listeners.
public
implementedEvents() : array<string, mixed>
Return values
array<string, mixed>initialize()
Constructor hook method.
public
initialize(array<string, mixed> $config) : void
Implement this method to avoid having to overwrite the constructor and call parent.
Parameters
- $config : array<string, mixed>
-
The configuration settings provided to this helper.
setConfig()
Sets the config.
public
setConfig(array<string, mixed>|string $key[, mixed|null $value = null ][, bool $merge = true ]) : $this
Usage
Setting a specific value:
$this->setConfig('key', $value);
Setting a nested value:
$this->setConfig('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Parameters
- $key : array<string, mixed>|string
-
The key to set, or a complete array of configs.
- $value : mixed|null = null
-
The value to set.
- $merge : bool = true
-
Whether to recursively merge or overwrite existing config, defaults to true.
Tags
Return values
$thisslug()
Returns a string with all spaces converted to dashes (by default), characters transliterated to ASCII characters, and non word characters removed.
public
slug(string $string[, array<string, mixed>|string $options = [] ]) : string
Options:
-
replacement
: Replacement string. Default '-'. -
transliteratorId
: A valid transliterator id string. Ifnull
(default) the transliterator (identifier) set viaText::setTransliteratorId()
orText::setTransliterator()
will be used. Iffalse
no transliteration will be done, only non-words will be removed. -
preserve
: Specific non-word character to preserve. Defaultnull
. For e.g. this option can be set to '.' to generate clean file names.
Parameters
- $string : string
-
the string you want to slug
- $options : array<string, mixed>|string = []
-
If string it will be used as replacement character or an array of options.
Tags
Return values
stringtail()
Truncates text starting from the end.
public
tail(string $text[, int $length = 100 ][, array<string, mixed> $options = [] ]) : string
Cuts a string to the length of $length and replaces the first characters with the ellipsis if the text is longer than length.
Options:
-
ellipsis
Will be used as Beginning and prepended to the trimmed string -
exact
If false, $text will not be cut mid-word
Parameters
- $text : string
-
String to truncate.
- $length : int = 100
-
Length of returned string, including ellipsis.
- $options : array<string, mixed> = []
-
An array of HTML attributes and options.
Tags
Return values
string —Trimmed string.
toList()
Creates a comma separated list where the last two items are joined with 'and', forming natural language.
public
toList(array<string|int, string> $list[, string|null $and = null ][, string $separator = ', ' ]) : string
Parameters
- $list : array<string|int, string>
-
The list to be joined.
- $and : string|null = null
-
The word used to join the last and second last items together with. Defaults to 'and'.
- $separator : string = ', '
-
The separator used to join all the other items together. Defaults to ', '.
Tags
Return values
string —The glued together string.
truncate()
Truncates text.
public
truncate(string $text[, int $length = 100 ][, array<string, mixed> $options = [] ]) : string
Cuts a string to the length of $length and replaces the last characters with the ellipsis if the text is longer than length.
Options:
-
ellipsis
Will be used as Ending and appended to the trimmed string -
exact
If false, $text will not be cut mid-word -
html
If true, HTML tags would be handled correctly
Parameters
- $text : string
-
String to truncate.
- $length : int = 100
-
Length of returned string, including ellipsis.
- $options : array<string, mixed> = []
-
An array of HTML attributes and options.
Tags
Return values
string —Trimmed string.
_configDelete()
Deletes a single config key.
protected
_configDelete(string $key) : void
Parameters
- $key : string
-
Key to delete.
Tags
_configRead()
Reads a config key.
protected
_configRead(string|null $key) : mixed
Parameters
- $key : string|null
-
Key to read.
_configWrite()
Writes a config key.
protected
_configWrite(array<string, mixed>|string $key, mixed $value[, string|bool $merge = false ]) : void
Parameters
- $key : array<string, mixed>|string
-
Key to write to.
- $value : mixed
-
Value to write.
- $merge : string|bool = false
-
True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Tags
_confirm()
Returns a string to be used as onclick handler for confirm dialogs.
protected
_confirm(string $okCode, string $cancelCode) : string
Parameters
- $okCode : string
-
Code to be executed after user chose 'OK'
- $cancelCode : string
-
Code to be executed after user chose 'Cancel'
Return values
string —"onclick" JS code
_insertPlaceHolder()
Saves the placeholder for a string, for later use. This gets around double escaping content in URL's.
protected
_insertPlaceHolder(array<string|int, mixed> $matches) : string
Parameters
- $matches : array<string|int, mixed>
-
An array of regexp matches.
Return values
string —Replaced values.
_linkEmails()
Links email addresses
protected
_linkEmails(string $text, array<string, mixed> $options) : string
Parameters
- $text : string
-
The text to operate on
- $options : array<string, mixed>
-
An array of options to use for the HTML.
Tags
Return values
string_linkUrls()
Replace placeholders with links.
protected
_linkUrls(string $text, array<string, mixed> $htmlOptions) : string
Parameters
- $text : string
-
The text to operate on.
- $htmlOptions : array<string, mixed>
-
The options for the generated links.
Return values
string —The text with links inserted.