Maison > développement back-end > tutoriel php > Résumé de l'exemple de méthode d'interception de chaîne chinoise PHP

Résumé de l'exemple de méthode d'interception de chaîne chinoise PHP

怪我咯
Libérer: 2023-03-14 08:14:01
original
1976 Les gens l'ont consulté

Cet article présente principalement des exemples de méthodes d'interception de chaînes PHP chinoises , analyse et compare les fonctions courantes d'interception de chaînes et donne un exemple complet pour résoudre l'interception de chaînes chinoises PHP. Question, les amis dans le besoin peuvent se référer à

L'exemple de cet article résume la méthode d'interception des chaînes chinoises en PHP, qui est une technique très pratique. Partagez-le avec tout le monde pour votre référence. La méthode spécifique est analysée comme suit :

L'utilisation de la fonction PHP substr pour intercepter des caractères chinois peut provoquer des caractères tronqués. La raison principale est que substr peut « voir » un caractère chinois en deux.

La solution est la suivante :

1. Utilisez l'interception mb_substr de la bibliothèque d'extensions mbstring pour éviter les caractères tronqués.

2. Écrivez vous-même la fonction d'interception, mais l'efficacité n'est pas aussi élevée que l'utilisation de la bibliothèque d'extension mbstring.

3. S'il s'agit simplement de sortir la chaîne interceptée, elle peut être implémentée de la manière suivante : substr($str, 0, 30).chr(0).

La fonction substr() peut diviser le texte, mais si le texte à diviser comprend des caractères chinois, vous rencontrerez souvent des problèmes. Dans ce cas, vous pouvez utiliser la fonction mb_substr()/mb_strcut. mb_substr()/mb_strcut est le même que celui de substr() est similaire, sauf qu'un paramètre supplémentaire doit être ajouté à la fin de mb_substr()/mb_strcut pour définir l'encodage de la chaîne. Cependant, la plupart des serveurs ne s'ouvrent pas. php_mbstring.dll Vous devez ouvrir php_mbstring.dll dans php.ini.

Donnez 2 exemples :

① Exemple mb_substr

<?php
echo mb_substr(&#39;这样一来我的字符串就不会有乱码^_^&#39;, 0, 7, &#39;utf-8&#39;);
//输出:这样一来我的字
?>
Copier après la connexion

② Exemple mb_strcut

<?php
echo mb_strcut(&#39;这样一来我的字符串就不会有乱码^_^&#39;, 0, 7, &#39;utf-8&#39;);
//输出:这样一
?>
Copier après la connexion

On peut voir à partir de l'exemple ci-dessus que mb_substr est basé sur des mots. Divisez les caractères et mb_strcut divise les caractères par octets, mais aucun ne produira un demi-caractère.

Comment intercepter des chaînes de texte chinois sans caractères tronqués en utilisant PHP :

<?php
//此函数完成带汉字的字符串取串
function substr_CN($str,$mylen){ 
$len=strlen($str);
$content=&#39;&#39;;
$count=0;
for($i=0;$i<$len;$i++){
if(ord(substr($str,$i,1))>127){
$content.=substr($str,$i,2);
$i++; 
}else{
$content.=substr($str,$i,1);
}
if(++$count==$mylen){
break;
}
}
echo $content;
}

$str="34中华人民共和国56";
substr_CN($str,3);//输出34中
?>
Copier après la connexion

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:
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