Explication détaillée de l'exemple de code de fonction de chaîne chinoise d'interception THINKPHP

黄舟
Libérer: 2023-03-06 19:28:01
original
1370 Les gens l'ont consulté

Dans le développement de projets, nous rencontrons souvent des problèmes d'interception de chaînes en anglais, en chinois et dans d'autres langues. Par exemple, si la page de liste d'actualités nécessite une brève introduction au contenu de l'actualité, l'interception de chaînes sera utilisée.

Dans le développement de projets, nous rencontrons souvent des problèmes d'interception de chaînes en anglais, en chinois et dans d'autres langues. Par exemple, si la page de liste d'actualités nécessite une brève introduction au contenu de l'actualité, une interception de chaîne est requise.

Maintenant, je vais partager avec vous une fonction d'interception de chaîne préparée dans THINKPHP.

# 函数解释:
msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
/*
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset=”utf-8″:字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
*/
Copier après la connexion

Utilisation du modèle :

{$vo.title|msubstr=0,5,'utf-8',false}
Copier après la connexion

Ps : Si la version principale n'a pas cette fonction, n'ayez pas peur, Zhufeng publiera le code pour tout le monde :

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) 
{ 
 if(function_exists("mb_substr")){ 
 if($suffix) 
  return mb_substr($str, $start, $length, $charset)."..."; 
 else
  return mb_substr($str, $start, $length, $charset); 
 } 
 elseif(function_exists('iconv_substr')) { 
 if($suffix) 
  return iconv_substr($str,$start,$length,$charset)."..."; 
 else
  return iconv_substr($str,$start,$length,$charset); 
 } 
 $re['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"; 
 $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/"; 
 $re['gbk']  = "/[x01-x7f]|[x81-xfe][x40-xfe]/"; 
 $re['big5']  = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"; 
 preg_match_all($re[$charset], $str, $match); 
 $slice = join("",array_slice($match[0], $start, $length)); 
 if($suffix) return $slice."…"; 
 return $slice;
}
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