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.
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.
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.
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.
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>
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.
Enlève le $text
fourni de tout lien HTML.
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...
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è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, '...');
…$radius,et préfixé/suffixé avec $ellipsis. Cette méthode est spécialement pratique pour les résultats de r…
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