Fonction d'interception chinoise PHP sans caractères tronqués

(*-*)浩
Libérer: 2023-02-23 18:40:01
original
3829 Les gens l'ont consulté

Fonction d'interception chinoise PHP sans caractères tronqués

Substr est souvent utilisé pour intercepter des chaînes en PHP, mais lorsque nous l'utilisons pour intercepter des caractères chinois, des caractères tronqués apparaîtront, par exemple :

<?php
$mystring="今天天气真好";
$mysubstring=substr($mystring,0,2);
echo $mysubstring;
?>
Copier après la connexion

Le résultat de sortie est �; (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)

Analyse des causes : Le prototype de la fonction substr est : string substr (string $string, int $ start [, int $length ] ), où $length représente la longueur en octets renvoyée et un caractère chinois occupe deux octets. Pour un caractère chinois UTF-8, il sera traité comme 3 octets.

<?php
$length=strlen($mystring);echo $length;//输出结果为18
?>
Copier après la connexion

C'est-à-dire que nous pouvons utiliser $length pour avoir la valeur 3, ce qui renverra avec succès le mot "Jin". Dans ce cas, si le chinois et l’anglais sont mélangés, nous devons calculer soigneusement $length.

Alors, y a-t-il une meilleure solution ? Php fournit des fonctions supplémentaires mb_strlen et mb_substr

<?php
$length=mb_strlen($mystring);
$mysub=mb_substr($mystring,0,4);
echo "the length is:$length,","the substr is:$mysub";
?>
Copier après la connexion

Le résultat de sortie est : la longueur est : 6, le substr est : La météo du jour

Fonction mb_strlen Le prototype is int mb_strlen(string string_input, string encode); par défaut, UTF-8, qui comptera les caractères chinois codés pour UTF-8 comme

Remarque : mb_strlen et mb_substr ne sont pas des fonctions essentielles de PHP. Vous devez ouvrir extension=php_mbstring.dll dans php.ini avant de les utiliser

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal