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.
Modifié dans la version 2.1: Plusieurs des méthodes de TextHelper
ont été déplacées dans la classe
String
pour permettre une utilisation plus facile de la couche
View
. Dans une vue, ces méthodes sont accessibles avec la classe
TextHelper et vous pouvez l’appeler comme vous appelleriez une méthode
normale de helper: $this->Text->method($args);
.
$text (string
) – Le texte à convertir.
$options (array
) – Un tableau d” attributs HTML pour générer
les liens.
Ajoute les liens aux adresses email bien formées dans $text, selon toute
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>
Modifié dans la version 2.1: Dans 2.1, cette méthode échappe automatiquement ces inputs. Utilisez
l’option escape
pour la désactiver si nécessaire.
$text (string
) – Le texte à convertir.
$options (array
) – Un tableau d” attributs HTML pour
la génération de liens.
De même que dans autoLinkEmails()
, seule cette méthode cherche les
chaînes de caractère qui commence par https, http, ftp, ou nntp et
les liens de manière appropriée.
Modifié dans la version 2.1: Dans 2.1, cette méthode échappe automatiquement son input. Utilisez
l’option escape
pour la désactiver si nécessaire.
$text (string
) – Le texte à lier automatiquement.
$htmlOptions (array
) – Un tableau d” attributs HTML pour
générer les liens.
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 $htmlOptions
fourni.
Modifié dans la version 2.1: Dans 2.1, cette méthode échappe automatiquement son input. Utilisez
l’option escape
pour la désactiver si nécessaire.
$text (string
) – Le texte à convertir.
Ajoute <p> autour du texte où la double ligne retourne et <br> où une simple ligne retourne, sont trouvés.
$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>
Nouveau dans la version 2.4.
$haystack (string
) – La chaîne de caractères à rechercher.
$needle (string
) – La chaîne à trouver.
$options (array
) – Un tableau d’options, voir ci-dessous.
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 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',
array('format' => '<span class="highlight">\1</span>')
);
// appelé avec CakeText
App::uses('CakeText', 'Utility');
echo CakeText::highlight(
$lastSentence,
'using',
array('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.
$text (string
) – Le texte à tronquer.
$length (int
) – La longueur en caractères pour laquelle le texte doit être tronqué.
$options (array
) – Un tableau d’options à utiliser.
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ées et ne seront pas
coupées.
$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:
array(
'ellipsis' => '...',
'exact' => true,
'html' => false
)
Exemple:
// appelé avec TextHelper
echo $this->Text->truncate(
'The killer crept forward and tripped on the rug.',
22,
array(
'ellipsis' => '...',
'exact' => false
)
);
// appelé avec CakeText
App::uses('CakeText', 'Utility');
echo CakeText::truncate(
'The killer crept forward and tripped on the rug.',
22,
array(
'ellipsis' => '...',
'exact' => false
)
);
Sortie:
The killer crept...
Modifié dans la version 2.3: ending
a été remplacé par ellipsis
. ending
est toujours utilisé
dans 2.2.1.
$text (string
) – The text à tronquer.
$length (int
) – La longueur en caractères pour laquelle le texte doit être tronqué.
$options (array
) – Un tableau d’options à utiliser.
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'
, si 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:
array(
'ellipsis' => '...',
'exact' => true
)
Nouveau dans la version 2.3.
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,
array(
'ellipsis' => '...',
'exact' => false
)
);
// appelé avec CakeText
App::uses('CakeText', 'Utility');
echo CakeText::tail(
$sampleText,
70,
array(
'ellipsis' => '...',
'exact' => false
)
);
Sortie:
...a TV, a C# program that can divide by zero, death metal t-shirts
$haystack (string
) – La chaîne à chercher.
$needle (string
) – La chaîne to excerpt around.
$radius (int
) – Le nombre de caractères de chaque côté de $needle que
vous souhaitez inclure.
$ending (string
) – Le Texte à ajouter/préfixer au début ou à la fin
du résultat.
Extrait un excerpt de $haystack
surrounding the $needle
avec un nombre de caractères de chaque côté déterminé par $radius
,
et prefix/suffix with $ending
. Cette méthode est spécialement pratique
pour les résultats recherchés. 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 CakeText
App::uses('CakeText', 'Utility');
echo CakeText::excerpt($lastParagraph, 'method', 50, '...');
Sortie:
... par $radius, et prefix/suffix avec $ending. Cette méthode est
spécialement pratique pour les résultats de recherche. La requête...
$list (array
) – Tableau d’éléments à combiner dans une list sentence.
$and (string
) – Le mot utilisé pour le dernier join.
Crée une liste séparée avec des virgules, où les deux derniers items sont joins avec “and”.
// appelé avec TextHelper
echo $this->Text->toList($colors);
// appelé avec CakeText
App::uses('CakeText', 'Utility');
echo CakeText::toList($colors);
Sortie:
red, orange, yellow, green, blue, indigo et violet