Maison php教程 php手册 一个很好的中文截取字符窜函数

一个很好的中文截取字符窜函数

Jun 06, 2016 pm 07:32 PM
中文 内容 函数 字符 截取 源码 演示 详细

无详细内容 无 源码与演示: 源码出处演示出处 function cut_str($string,$sublen,$filter=true,$start=0,$code='UTF-8'){if($filter) $string=Html2Text($string);if($code=='UTF-8'){$pa="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[

源码与演示:源码出处 演示出处

function cut_str($string,$sublen,$filter=true,$start=0,$code='UTF-8'){
	if($filter) $string=Html2Text($string);
	if($code=='UTF-8'){
		$pa="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
		preg_match_all($pa,$string,$t_string);
		if(count($t_string[0])-$start>$sublen) return join('',array_slice($t_string[0],$start,$sublen))."...";
		return join('',array_slice($t_string[0],$start,$sublen));
	}else{
		$start=$start*2;
		$sublen=$sublen*2;
		$strlen=strlen($string);
		$tmpstr='';
		for($i=0;$i<$strlen;$i++){
			if($i>=$start&&$i<($start+$sublen)){
				if(ord(substr($string,$i,1))>129){
					$tmpstr.=substr($string,$i,2);
				}else{
					$tmpstr.=substr($string,$i,1);
				}
			}
			if(ord(substr($string,$i,1))>129) $i++;
		}
		if(strlen($tmpstr)<$strlen ) $tmpstr.="...";
		return $tmpstr;
	}
}
function Html2Text($str){
	$str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
	$alltext = "";
	$start = 1;
	for($i=0;$i<strlen($str);$i++){
		if($start==0 && $str[$i]==">"){
			$start = 1;
		}else if($start==1){
			if($str[$i]=="<"){
				$start = 0;
				$alltext .= " ";
			}else if(ord($str[$i])>31){
				$alltext .= $str[$i];
			}
		}
	}
	$alltext = str_replace(" "," ",$alltext);
	$alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
	$alltext = preg_replace("/[ ]+/s"," ",$alltext);
	return $alltext;
}
Copier après la connexion
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Conseils pour créer dynamiquement de nouvelles fonctions dans les fonctions Golang Conseils pour créer dynamiquement de nouvelles fonctions dans les fonctions Golang Apr 25, 2024 pm 02:39 PM

Conseils pour créer dynamiquement de nouvelles fonctions dans les fonctions Golang

Considérations relatives à l'ordre des paramètres dans la dénomination des fonctions C++ Considérations relatives à l'ordre des paramètres dans la dénomination des fonctions C++ Apr 24, 2024 pm 04:21 PM

Considérations relatives à l'ordre des paramètres dans la dénomination des fonctions C++

Comment écrire des fonctions efficaces et maintenables en Java ? Comment écrire des fonctions efficaces et maintenables en Java ? Apr 24, 2024 am 11:33 AM

Comment écrire des fonctions efficaces et maintenables en Java ?

Comparaison des avantages et des inconvénients des paramètres par défaut et des paramètres variables des fonctions C++ Comparaison des avantages et des inconvénients des paramètres par défaut et des paramètres variables des fonctions C++ Apr 21, 2024 am 10:21 AM

Comparaison des avantages et des inconvénients des paramètres par défaut et des paramètres variables des fonctions C++

Collection complète de formules de fonctions Excel Collection complète de formules de fonctions Excel May 07, 2024 pm 12:04 PM

Collection complète de formules de fonctions Excel

Quels sont les avantages des fonctions C++ renvoyant des types référence ? Quels sont les avantages des fonctions C++ renvoyant des types référence ? Apr 20, 2024 pm 09:12 PM

Quels sont les avantages des fonctions C++ renvoyant des types référence ?

Quelle est la différence entre les fonctions PHP personnalisées et les fonctions prédéfinies ? Quelle est la différence entre les fonctions PHP personnalisées et les fonctions prédéfinies ? Apr 22, 2024 pm 02:21 PM

Quelle est la différence entre les fonctions PHP personnalisées et les fonctions prédéfinies ?

Utilisation avancée des paramètres de référence et des paramètres de pointeur dans les fonctions C++ Utilisation avancée des paramètres de référence et des paramètres de pointeur dans les fonctions C++ Apr 21, 2024 am 09:39 AM

Utilisation avancée des paramètres de référence et des paramètres de pointeur dans les fonctions C++

See all articles