L'utilisation de base de la fonction Wordwrap est d'envelopper un morceau de texte à une longueur spécifiée. Le prototype de fonction est le suivant:
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span> , </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$width</span></span><span> = </span><span><span class="hljs-number">75</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$break</span></span><span> = </span><span><span class="hljs-string">"\n"</span></span><span> , </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$cut</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span> )
</span></span>$ STR : La chaîne d'origine à traiter en nouvelles lignes.
$ Largeur : Spécifie la largeur maximale de chaque ligne, la valeur par défaut est de 75.
$ Break : définit les caractères Newline et les caractères Newline sont utilisés par défaut.
$ Cut : Si vrai , le mot sera obligé d'être coupé à la largeur spécifiée, et la valeur par défaut est fausse , c'est-à-dire que la ligne se casse uniquement aux caractères de l'espace.
Dans différents scénarios d'application, la longueur de rupture de ligne appropriée variera. D'une manière générale, s'il s'agit de contenu par e-mail, d'articles ou de texte long, il est recommandé de définir une largeur plus courte (comme 60 à 80 caractères) pour s'assurer que le texte peut être bien affiché sur une variété d'appareils et de tailles d'écran. Pour l'exploitation forestière ou la sortie de données, les longueurs de rupture de ligne plus longues (telles que 120 caractères) peuvent être plus adaptées, car les limites du dispositif d'affichage ne sont généralement pas tenues d'être prises en compte dans ces scénarios.
Bien que la nouvelle ligne par défaut soit \ n , les Newlines peuvent être représentées différemment sur différentes plates-formes (par exemple, Windows utilise \ r \ n ). Pour garantir la compatibilité multiplateforme, des pauses de ligne explicites peuvent être utilisées lors de l'appel de Wordwrap :
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-number">80</span></span><span>, </span><span><span class="hljs-string">"\r\n"</span></span><span>);
</span></span>Cette approche permet d'éviter la mise en forme de problèmes entre différents systèmes d'exploitation, en particulier lors du traitement des fichiers texte ou de l'échange de données via différentes plates-formes.
Le paramètre de coupe est utilisé pour forcer les mots longs à couper en plusieurs lignes. Bien que la coupe forcée soit parfois nécessaire pour garantir que chaque longueur de ligne soit cohérente, elle peut détruire l'intégrité du mot et affecter la lisibilité du texte. En général, il est recommandé d'activer cette option que si vous vous assurez que les mots peuvent être coupés au bon endroit. Par exemple, lors du traitement du texte contenant des URL longues, vous pouvez définir Cut = TRUE pour éviter le débordement de l'URL long:
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-number">50</span></span><span>, </span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span></span>Bien que la fonction de rédaction de mots puisse forcer les ruptures de ligne, trop de ruptures de ligne peuvent faire apparaître le texte incohérent et une mauvaise expérience de lecture. Par conséquent, il est très important de définir la largeur de rupture de ligne appropriée. Si les ruptures de ligne sont trop fréquentes, les utilisateurs sont enclins à perdre un contexte lors de la lecture. Habituellement, une largeur de rupture de ligne d'environ 80 caractères est un compromis raisonnable.
Lorsque vous travaillez avec le contenu HTML, l'utilisation de Wordwrap directement enveloppera les balises HTML, ce qui peut entraîner des problèmes de mise en page. Pour éviter cela, vous pouvez supprimer ou remplacer la balise HTML par une nouvelle ligne appropriée avant d'appeler Wordwrap . Un exemple simple consiste à utiliser la fonction strip_tags pour supprimer les balises HTML, puis casser les lignes:
<span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strip_tags</span></span><span>(</span><span><span class="hljs-variable">$htmlContent</span></span><span>);
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$text</span></span><span>, </span><span><span class="hljs-number">80</span></span><span>, </span><span><span class="hljs-string">"\n"</span></span><span>);
</span></span>Parfois, la chaîne d'origine elle-même contient déjà plusieurs paragraphes ou des caractères Newline. À l'heure actuelle, il est possible de s'assurer que chaque ligne répond à une norme de largeur prédéterminée par le boucle et le traitement en boucle et ligne par ligne. Par exemple, divisez d'abord le texte par paragraphe, puis Wordwrap chaque paragraphe:
<span><span><span class="hljs-variable">$paragraphs</span></span><span> = </span><span><span class="hljs-title function_ invoke__">explode</span></span><span>(</span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-variable">$text</span></span><span>);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$paragraphs</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> => </span><span><span class="hljs-variable">$paragraph</span></span><span>) {
</span><span><span class="hljs-variable">$paragraphs</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>] = </span><span><span class="hljs-title function_ invoke__">wordwrap</span></span><span>(</span><span><span class="hljs-variable">$paragraph</span></span><span>, </span><span><span class="hljs-number">80</span></span><span>, </span><span><span class="hljs-string">"\n"</span></span><span>);
}
</span><span><span class="hljs-variable">$text</span></span><span> = </span><span><span class="hljs-title function_ invoke__">implode</span></span><span>(</span><span><span class="hljs-string">"\n"</span></span><span>, </span><span><span class="hljs-variable">$paragraphs</span></span><span>);
</span></span>Cette méthode garantit que chaque paragraphe répond aux normes de formatage sans retirer les lignes vierges entre les paragraphes.
Bien que la fonction Wordwrap soit simple et facile à utiliser, elle peut affecter les performances lorsqu'il s'agit d'un très grand texte, en particulier lorsqu'il est appelé plusieurs fois. Afin d'améliorer l'efficacité, les méthodes d'optimisation suivantes peuvent être prises en compte:
Pour les données de texte plus grandes, un prétraitement simple peut être effectué en premier, comme la suppression des espaces inutiles ou la mise en forme de ruptures de ligne irrégulières, puis la réduction de mots .
Lorsque vous devez appeler fréquemment Wordwrap , essayez d'éviter de calculer à chaque fois et utilisez des résultats de traitement de cache ou de cache.
La fonction WordWrap est un outil très utile en PHP qui aide les développeurs à formater le contenu texte long pour le rendre facile à lire et à afficher. Cependant, la définition correcte de la longueur de rupture de ligne, le choix de la bonne rupture de ligne et l'utilisation des paramètres de coupe avec prudence sont des facteurs importants pour garantir que l'affichage du texte est élégant et lisible. L'ajustement des paramètres en fonction des scénarios d'application réels et le traitement de flexiblement des situations spéciales peuvent considérablement améliorer l'expérience utilisateur.