Class TextHelper
Text helper library.
Text manipulations: Highlight, excerpt, truncate, strip of links, convert email addresses to mailto: links...
See: \Cake\Utility\Text
Link: https://book.cakephp.org/5/en/views/helpers/text.html
Property Summary
- 
        $Html public @propertyCake\View\Helper\HtmlHelper
- 
        $_View protectedCake\View\ViewThe View instance this helper is attached to 
- 
        $_config protectedarray<string, mixed>Runtime config 
- 
        $_configInitialized protectedboolWhether the config property has already been configured with defaults 
- 
        $_defaultConfig protectedarray<string, mixed>Default config for this helper. 
- 
        $_placeholders protectedarray<string, array>An array of hashes and their contents. Used when inserting links into text. 
- 
        $helperInstances protectedarray<string, \Cake\View\Helper>Loaded helper instances. 
- 
        $helpers protectedarrayhelpers 
Method Summary
- 
          __call() publicCall methods from String utility class 
- 
          __construct() publicDefault Constructor 
- 
          __debugInfo() publicReturns an array that can be used to describe the internal state of this object. 
- 
          __get() publicLazy loads helpers. 
- 
          _configDelete() protectedDeletes a single config key. 
- 
          _configRead() protectedReads a config key. 
- 
          _configWrite() protectedWrites a config key. 
- 
          _confirm() protectedReturns a string to be used as onclick handler for confirm dialogs. 
- 
          _insertPlaceHolder() protectedSaves the placeholder for a string, for later use. This gets around double escaping content in URL's. 
- 
          _linkEmails() protectedLinks email addresses 
- 
          _linkUrls() protectedReplace placeholders with links. 
- 
          _prepareLinkLabel() protectedPrepares the link label. 
- 
          addClass() publicAdds the given class to the element options 
- 
          autoLink() publicConvert all links and email addresses to HTML links. 
- 
          autoLinkEmails() publicAdds email links (<a href="mailto:....") to a given text. 
- 
          autoLinkUrls() publicAdds links (<a href=....) to a given text, by finding text that begins with strings like http:// and ftp://. 
- 
          autoParagraph() publicFormats paragraphs around given text for all line breaks 
 added for single line returnadded for double line return 
- 
          configShallow() publicMerge provided config with existing config. Unlike config()which does a recursive merge for nested keys, this method does a simple merge.
- 
          excerpt() public @methodSee Text::excerpt() 
- 
          getConfig() publicReturns the config. 
- 
          getConfigOrFail() publicReturns the config for this specific key. 
- 
          getView() publicGet the view instance this helper is bound to. 
- 
          highlight() public @methodSee Text::highlight() 
- 
          implementedEvents() publicEvent listeners. 
- 
          initialize() publicConstructor hook method. 
- 
          setConfig() publicSets the config. 
- 
          slug() public @methodSee Text::slug() 
- 
          tail() public @methodSee Text::tail() 
- 
          toList() public @methodSee Text::toList() 
- 
          truncate() public @methodSee Text::truncate() 
Method Detail
__call() ¶ public
__call(string $method, array $params): mixedCall methods from String utility class
Parameters
- 
                string$method
- Method to invoke 
- 
                array$params
- Array of params for the method. 
Returns
mixedWhatever is returned by called method, or false on failure
__construct() ¶ public
__construct(Cake\View\View $view, array<string, mixed> $config = [])Default Constructor
Parameters
- 
                Cake\View\View$view
- The View this helper is being attached to. 
- 
                array<string, mixed>$config optional
- Configuration settings for the helper. 
__debugInfo() ¶ public
__debugInfo(): array<string, mixed>Returns an array that can be used to describe the internal state of this object.
Returns
array<string, mixed>__get() ¶ public
__get(string $name): Cake\View\Helper|nullLazy loads helpers.
Parameters
- 
                string$name
- Name of the property being accessed. 
Returns
Cake\View\Helper|nullHelper instance if helper with provided name exists
_configDelete() ¶ protected
_configDelete(string $key): voidDeletes a single config key.
Parameters
- 
                string$key
- Key to delete. 
Returns
voidThrows
Cake\Core\Exception\CakeExceptionif attempting to clobber existing config
_configRead() ¶ protected
_configRead(string|null $key): mixedReads a config key.
Parameters
- 
                string|null$key
- Key to read. 
Returns
mixed_configWrite() ¶ protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): voidWrites a config key.
Parameters
- 
                array<string, mixed>|string$key
- Key to write to. 
- 
                mixed$value
- Value to write. 
- 
                string|bool$merge optional
- True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false. 
Returns
voidThrows
Cake\Core\Exception\CakeExceptionif attempting to clobber existing config
_confirm() ¶ protected
_confirm(string $okCode, string $cancelCode): stringReturns a string to be used as onclick handler for confirm dialogs.
Parameters
- 
                string$okCode
- Code to be executed after user chose 'OK' 
- 
                string$cancelCode
- Code to be executed after user chose 'Cancel' 
Returns
string"onclick" JS code
_insertPlaceHolder() ¶ protected
_insertPlaceHolder(array $matches): stringSaves the placeholder for a string, for later use. This gets around double escaping content in URL's.
Parameters
- 
                array$matches
- An array of regexp matches. 
Returns
stringReplaced values.
_linkEmails() ¶ protected
_linkEmails(string $text, array<string, mixed> $options): stringLinks email addresses
Parameters
- 
                string$text
- The text to operate on 
- 
                array<string, mixed>$options
- An array of options to use for the HTML. 
Returns
stringSee Also
_linkUrls() ¶ protected
_linkUrls(string $text, array<string, mixed> $htmlOptions): stringReplace placeholders with links.
Parameters
- 
                string$text
- The text to operate on. 
- 
                array<string, mixed>$htmlOptions
- The options for the generated links. 
Returns
stringThe text with links inserted.
_prepareLinkLabel() ¶ protected
_prepareLinkLabel(string $name, array<string, mixed> $options): stringPrepares the link label.
Parameters
- 
                string$name
- Link label. 
- 
                array<string, mixed>$options
- The options for the generated link label. 
Returns
stringModified link label.
addClass() ¶ public
addClass(array<string, mixed> $options, string $class, string $key = 'class'): array<string, mixed>Adds the given class to the element options
Parameters
- 
                array<string, mixed>$options
- Array options/attributes to add a class to 
- 
                string$class
- The class name being added. 
- 
                string$key optional
- the key to use for class. Defaults to - 'class'.
Returns
array<string, mixed>Array of options with $key set.
autoLink() ¶ public
autoLink(string $text, array<string, mixed> $options = []): stringConvert all links and email addresses to HTML links.
Options
- escapeControl HTML escaping of input. Defaults to true.
Parameters
- 
                string$text
- Text 
- 
                array<string, mixed>$options optional
- Array of HTML options, and options listed above. 
Returns
stringThe text with links
Links
autoLinkEmails() ¶ public
autoLinkEmails(string $text, array<string, mixed> $options = []): stringAdds email links (<a href="mailto:....") to a given text.
Options
- escapeControl HTML escaping of input. Defaults to true.
Parameters
- 
                string$text
- Text 
- 
                array<string, mixed>$options optional
- Array of HTML options, and options listed above. 
Returns
stringThe text with links
Links
autoLinkUrls() ¶ public
autoLinkUrls(string $text, array<string, mixed> $options = []): stringAdds links (<a href=....) to a given text, by finding text that begins with strings like http:// and ftp://.
Options
- escapeControl HTML escaping of input. Defaults to true.
- stripProtocolStrips http:// and https:// from the beginning of the link. Default off.
- maxLengthThe maximum length of the link label. Default off.
- ellipsisThe string to append to the end of the link label. Defaults to UTF8 version.
Parameters
- 
                string$text
- Text 
- 
                array<string, mixed>$options optional
- Array of HTML options, and options listed above. 
Returns
stringThe text with links
Links
autoParagraph() ¶ public
autoParagraph(string|null $text): stringFormats paragraphs around given text for all line breaks
 added for single line return
added for double line return
Parameters
- 
                string|null$text
- Text 
Returns
stringThe text with proper
 and 
 tags
Links
configShallow() ¶ public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $thisMerge provided config with existing config. Unlike config() which does
a recursive merge for nested keys, this method does a simple merge.
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
- 
                array<string, mixed>|string$key
- The key to set, or a complete array of configs. 
- 
                mixed|null$value optional
- The value to set. 
Returns
$thisexcerpt() ¶ public @method
excerpt(string $text, string $phrase, int $radius = 100, string $ending = '…'): stringSee Text::excerpt()
Parameters
- 
                string$text
- 
                string$phrase
- 
                int$radius optional
- 
                string$ending optional
Returns
stringgetConfig() ¶ public
getConfig(string|null $key = null, mixed $default = null): mixedReturns the config.
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
- 
                string|null$key optional
- The key to get or null for the whole config. 
- 
                mixed$default optional
- The return value when the key does not exist. 
Returns
mixedConfiguration data at the named key or null if the key does not exist.
getConfigOrFail() ¶ public
getConfigOrFail(string $key): mixedReturns the config for this specific key.
The config value for this key must exist, it can never be null.
Parameters
- 
                string$key
- The key to get. 
Returns
mixedConfiguration data at the named key
Throws
InvalidArgumentExceptiongetView() ¶ public
getView(): Cake\View\ViewGet the view instance this helper is bound to.
Returns
Cake\View\ViewThe bound view instance.
highlight() ¶ public @method
highlight(string $text, array|string $phrase, array $options = []): stringSee Text::highlight()
Parameters
- 
                string$text
- 
                array|string$phrase
- 
                array$options optional
Returns
stringimplementedEvents() ¶ public
implementedEvents(): array<string, mixed>Event listeners.
By defining one of the callback methods a helper is assumed to be interested in the related event.
Override this method if you need to add non-conventional event listeners. Or if you want helpers to listen to non-standard events.
Returns
array<string, mixed>initialize() ¶ public
initialize(array<string, mixed> $config): voidConstructor hook method.
Implement this method to avoid having to overwrite the constructor and call parent.
Parameters
- 
                array<string, mixed>$config
- The configuration settings provided to this helper. 
Returns
voidsetConfig() ¶ public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $thisSets the config.
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
- 
                array<string, mixed>|string$key
- The key to set, or a complete array of configs. 
- 
                mixed|null$value optional
- The value to set. 
- 
                bool$merge optional
- Whether to recursively merge or overwrite existing config, defaults to true. 
Returns
$thisThrows
Cake\Core\Exception\CakeExceptionWhen trying to set a key that is invalid.
slug() ¶ public @method
slug(string $string, array|string $options = []): stringSee Text::slug()
Parameters
- 
                string$string
- 
                array|string$options optional
Returns
stringtail() ¶ public @method
tail(string $text, int $length = 100, array $options = []): stringSee Text::tail()
Parameters
- 
                string$text
- 
                int$length optional
- 
                array$options optional
Returns
stringtoList() ¶ public @method
toList(array $list, ?string $and = null, string $separator = ', '): stringSee Text::toList()
Parameters
- 
                array$list
- 
                ?string$and optional
- 
                string$separator optional
Returns
stringtruncate() ¶ public @method
truncate(string $text, int $length = 100, array $options = []): stringSee Text::truncate()
Parameters
- 
                string$text
- 
                int$length optional
- 
                array$options optional
Returns
string