PHP implémente une interception personnalisée de la version Chinese Strings-utf8

墨辰丷
Libérer: 2023-03-27 21:58:01
original
1767 Les gens l'ont consulté

Cet article présente principalement la méthode d'interception personnalisée des chaînes chinoises en PHP, qui a une très bonne valeur de référence. Regardons-la avec l'éditeur

Tout d'abord, il y en a beaucoup. codes pour ce problème sur Internet, mais beaucoup d'entre eux sont copiés et collés sans pratique par moi-même, et le code a des problèmes de logique.

Pas grand chose à dire

/**
   * 该函数是对于utf8编码
   * @author 2582308253@qq.com
   * @param string $str
   * @param int $start
   * @param int $length
   * @return string
   * @copyright 2017年2月27日下午1:46:10
   */
  function gbsubstr2($str, $start, $length) {
    $length = abs($length);
    $strLen = strlen($str);
    $len = $start + $length;
    $newStr = '';
    for($i = $start; $i < $len && $i < $strLen; $i++) {
      if(ord(substr($str, $i, 1)) > 0xa0) {
        //utf8编码中一个汉字是占据3个字节的,对于其他的编码的字符串,中文占据的字节各有不同,自己需要去修改这个数a
        $newStr .= substr($str, $i, 3);//此处a=3;
        $i+=2;
        $len += 2; //截取了三个字节之后,截取字符串的终止偏移量也要随着每次汉字的截取增加a-1;
      } else {
        $newStr .= substr($str, $i, 1);
      }
    }
    return $newStr;
  }
Copier après la connexion

Ce qui précède est tout le contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun.


Recommandations associées :

Comment générer un ou plusieurs groupes de chaînes aléatoires en php

php preg_match matchstringlongueur de l'analyse de la casse

PHP preg_match matchstringExplication détaillée de pas de longueur

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