Cet article présente principalement la fonction de longueur de chaîne d'interception PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Tout d'abord, la chaîne à tester :
<?php header("Content-Type:text/html;charset=utf-8"); echo cn_substr_utf8('我是一个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('ai\'2145m a ch3我[是一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('【我,是一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('我是一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('我是,一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('我,是,一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('我是asd一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('【我i\'m[是一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('【i\'m a ch我[是一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('【i\'2145m a ch3我[是一,个,和哈,哦也,,国家!',12);
Ce qui suit est le rendu de l'interception précise de la chaîne :
Fonction spécifique Le code est le suivant :
//utf-8中文截取,单字节截取模式 function cn_substr_utf8($str,$length,$append='...',$start=0){ if(strlen($str)<$start+1){ return ''; } preg_match_all("/./su",$str,$ar); $str2=''; $tstr=''; //www.phpernote.com for($i=0;isset($ar[0][$i]);$i++){ if(strlen($tstr)<$start){ $tstr.=$ar[0][$i]; }else{ if(strlen($str2)<$length + strlen($ar[0][$i])){ $str2.=$ar[0][$i]; }else{ break; } } } return $str==$str2?$str2:$str2.$append; }
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun.
Recommandations associées :
Explication détaillée des méthodes et exemples de classe de téléchargement de fichiers PHP
Méthodes et exemples d'implémentation PHP de la classe de pagination
Comment générer un code QR avec logo en php
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!