This document is for CakePHP's development version, which can be significantly different from previous releases.
You may want to read current stable release documentation instead.

Text

class Cake\View\Helper\TextHelper(View $view, array $config = [])

TextHelper possède des méthodes pour rendre le texte plus utilisable et sympa dans vos vues. Il aide à activer les liens, à formater les URLs, à créer des extraits de texte autour des mots ou des phrases choisies, mettant en évidence des mots clés dans des blocs de texte et tronquer élégamment de longues étendues de texte.

Lier les Adresses Email

Cake\View\Helper\TextHelper::autoLinkEmails(string $text, array $options = [])

Ajoute les liens aux adresses email bien formées dans $text, selon toutes les options définies dans $options (regardez HtmlHelper::link()):

$myText = 'Pour plus d'informations sur nos pâtes et desserts fameux,
    contactez info@example.com';
$linkedText = $this->Text->autoLinkEmails($myText);

Sortie:

Pour plus d'informations sur nos pâtes et desserts fameux,
contactez <a href="mailto:[email protected]">info@example.com</a>

Cette méthode échappe automatiquement ces inputs. Utilisez l’option escape pour la désactiver si nécessaire.

Lier les URLs

Cake\View\Helper\TextHelper::autoLinkUrls(string $text, array $options = [])

De même que dans autoLinkEmails(), seule cette méthode cherche les chaînes de caractères qui commence par https, http, ftp, ou nntp et les liens de manière appropriée.

Cette méthode échappe automatiquement son input. Utilisez l’option escape pour la désactiver si nécessaire.

Lier à la fois les URLs et les Adresses Email

Exécute la fonctionnalité dans les deux autoLinkUrls() et autoLinkEmails() sur le $text fourni. Tous les URLs et emails sont liés de manière appropriée donnée par $options fourni.

Cette méthode échappe automatiquement son input. Utilisez l’option escape pour la désactiver si nécessaire.

Convertir du Texte en Paragraphes

Cake\View\Helper\TextHelper::autoParagraph(string $text)

Ajoute <p> autour du texte où un double retour ligne est trouvé, et <br> quand un simple retour ligne est rencontré:

$myText = 'For more information
regarding our world-famous pastries and desserts.

contact [email protected]';
$formattedText = $this->Text->autoParagraph($myText);

Output:

<p>Pour plus d\'information<br />
selon nos célèbres pâtes et desserts.</p>
<p>contact info@example.com</p>

Subrillance de Sous-Chaîne

Cake\View\Helper\TextHelper::highlight(string $haystack, string $needle, array $options = [])

Mettre en avant $needle dans $haystack en utilisant la chaîne spécifique $options['format'] ou une chaîne par défaut.

Options:

  • format - chaîne la partie de html avec laquelle la phrase sera mise en exergue.

  • html - booléen Si true, va ignorer tous les tags HTML, s’assurant que seul le bon texte est mise en avant.

Exemple:

// appelé avec TextHelper
echo $this->Text->highlight(
    $lastSentence,
    'using',
    ['format' => '<span class="highlight">\1</span>']
);

// appelé avec Text
use Cake\Utility\Text;

echo Text::highlight(
    $lastSentence,
    'using',
    ['format' => '<span class="highlight">\1</span>']
);

Sortie:

Highlights $needle in $haystack <span class="highlight">using</span> the
$options['format'] string specified or a default string.

Retirer les Liens

Enlève le $text fourni de tout lien HTML.

Tronquer le Texte

Cake\View\Helper\TextHelper::truncate(string $text, int $length = 100, array $options)

Si $text est plus long que $length, cette méthode le tronque à la longueur $length et ajoute un suffixe 'ellipsis', si défini. Si 'exact' est passé à false, le truchement va se faire au premier espace après le point où $length a dépassé. Si 'html' est passé à true, les balises html seront respectés et ne seront pas coupés.

$options est utilisé pour passer tous les paramètres supplémentaires, et a les clés suivantes possibles par défaut, celles-ci étant toutes optionnelles:

[
    'ellipsis' => '...',
    'exact' => true,
    'html' => false
]

Exemple:

// appelé avec TextHelper
echo $this->Text->truncate(
    'The killer crept forward and tripped on the rug.',
    22,
    [
        'ellipsis' => '...',
        'exact' => false
    ]
);

// appelé avec Text
App::uses('Text', 'Utility');
echo Text::truncate(
    'The killer crept forward and tripped on the rug.',
    22,
    [
        'ellipsis' => '...',
        'exact' => false
    ]
);

Sortie:

The killer crept...

Tronquer une chaîne par la fin

Cake\View\Helper\TextHelper::tail(string $text, int $length = 100, array $options)

Si $text est plus long que $length, cette méthode retire une sous-chaîne initiale avec la longueur de la différence et ajoute un préfixe 'ellipsis', s’il est défini. Si 'exact' est passé à false, le truchement va se faire au premier espace avant le moment où le truchement aurait été fait.

$options est utilisé pour passer tous les paramètres supplémentaires, et a les clés possibles suivantes par défaut, toutes sont optionnelles:

[
    'ellipsis' => '...',
    'exact' => true
]

Exemple:

$sampleText = 'I packed my bag and in it I put a PSP, a PS3, a TV, ' .
    'a C# program that can divide by zero, death metal t-shirts'

// appelé avec TextHelper
echo $this->Text->tail(
    $sampleText,
    70,
    [
        'ellipsis' => '...',
        'exact' => false
    ]
);

// appelé avec Text
App::uses('Text', 'Utility');
echo Text::tail(
    $sampleText,
    70,
    [
        'ellipsis' => '...',
        'exact' => false
    ]
);

Sortie:

...a TV, a C# program that can divide by zero, death metal t-shirts

Générer un Extrait

Cake\View\Helper\TextHelper::excerpt(string $haystack, string $needle, integer $radius=100, string $ellipsis="...")

Génère un extrait de $haystack entourant le $needle avec un nombre de caractères de chaque côté déterminé par $radius, et préfixé/suffixé avec $ellipsis. Cette méthode est spécialement pratique pour les résultats de recherches. La chaîne requêtée ou les mots clés peuvent être montrés dans le document résultant:

// appelé avec TextHelper
echo $this->Text->excerpt($lastParagraph, 'method', 50, '...');

// appelé avec Text
use Cake\Utility\Text;

echo Text::excerpt($lastParagraph, 'méthode', 50, '...');
Génère::

…$radius,et préfixé/suffixé avec $ellipsis. Cette méthode est spécialement pratique pour les résultats de r…

Convertir un tableau sous la forme d’une phrase

Cake\View\Helper\TextHelper::toList(array $list, $and='and', $separator=', ')

Crée une liste séparée avec des virgules, où les deux derniers items sont joins avec “and”:

$colors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet'];

// appelé avec TextHelper
echo $this->Text->toList($colors);

// appelé avec Text
use Cake\Utility\Text;

echo Text::toList($colors);

Sortie:

red, orange, yellow, green, blue, indigo et violet