Créer un extrait d’un message sans extrait et limiter par le nombre de caractères
Précision: lettre, ou ce que nous appelons dans la programmation: caractère. Ensuite, cet article décrit une fonction qui prend le contenu (et non l’extrait) et extrait le nombre de caractères requis.
Cet article examine toutes les parties de la fonction et explique tous les éléments à prendre en considération dans une telle fonction. L’extraction de caractères ne consiste pas seulement à compter les lettres. Les messages peuvent contenir d’autres éléments: des balises HTML contenant des mots, des images, des codes courts et des blocs. De plus, le nombre de caractères doit être considéré pour les caractères qui dépassent le code ASCII et qui sont étendus à UTF – 8. Toutes ces questions vont maintenant être examinées. La première chose que nous devons faire est de supprimer toutes les balises HTML. Cela supprimera également l’étiquette IMG et l’étiquette d’annotation de l’emballage du bloc Gutenberg. Par conséquent, la première commande de la fonction devrait être $content = Strip _ tags ($content).
Nous n’avons pas de balise HTML pour le moment, mais il y a encore quelque chose que nous ne voulons pas afficher dans l’extrait: shortcode. Comme les extraits ne sont utilisés que pour afficher le texte, nous ne voulons pas qu’ils apparaissent dans notre contenu parce qu’ils n’ont aucun sens lorsqu’ils ne sont pas analysés. Heureusement, nous n’avons pas à écrire l’analyseur: WordPress a une fonction pour le faire: Strip _ shortcodes (). La suppression de la marque peut laisser des espaces supplémentaires et de nouvelles lignes, ce que nous ne voulons pas parce que nous voulons que l’extrait soit un texte continu. Par conséquent, nous utiliserons des expressions régulières pour trouver et remplacer toutes les cartes, les espaces, les nouvelles lignes, etc. Juste un espace.
Str vs MB _ Str maintenant que nous n’avons que du texte, nous avons deux choses à faire: extraire le nombre requis de caractères et nous assurer que les mots ne sont pas coupés au milieu. C’est dur de compter les lettres? Utiliser strpos () et sub