ホームページ >バックエンド開発 >PHPチュートリアル >phpはutf-8形式の文字列をインターセプトします

phpはutf-8形式の文字列をインターセプトします

墨辰丷
墨辰丷オリジナル
2018-05-31 09:49:221581ブラウズ

この記事は主にutf-8形式の文字列をインターセプトするphpのサンプルコードに関する関連情報を紹介しており、必要な友人は

utf-8形式の文字列をインターセプトするサンプルコードを参照してください。

php では、文字列をインターセプトする必要があることがよくあります。英語の文字は 1 バイト、中国語の文字は 2 バイトを占有します。ただし、GBK エンコードと比較すると、中国語の文字は 2 バイトを占有します。ただし、世界的に普及している UTF8 エンコードでは、1 つの漢字が 3 バイトを占有します。この記事では、UTF-8 形式の文字列をインターセプトする PHP 関数を紹介します。

例:

function truncate_utf8_string($string, $length, $etc = '...') {
 $result = '';
 $string = html_entity_decode ( trim ( strip_tags ( $string ) ), ENT_QUOTES, 'UTF-8' );
 $strlen = strlen ( $string );
 for($i = 0; (($i < $strlen) && ($length > 0)); $i ++) {
 if ($number = strpos ( str_pad ( decbin ( ord ( substr ( $string, $i, 1 ) ) ), 8, &#39;0&#39;, STR_PAD_LEFT ), &#39;0&#39; )) {
  if ($length < 1.0) {
  break;
  }
  $result .= substr ( $string, $i, $number );
  $length -= 1.0;
  $i += $number - 1;
 } else {
  $result .= substr ( $string, $i, 1 );
  $length -= 0.5;
 }
 }
 $result = htmlspecialchars ( $result, ENT_QUOTES, &#39;UTF-8&#39; );
 if ($i < $strlen) {
 $result .= $etc;
 }
 return $result;
}

UTF-8 形式の文字列をインターセプトする必要がある場合は、この関数を直接呼び出してください。

<?php
  $str="如果需要截取utf-8格式的字符串,直接调用这个函数即可。";
  echo truncate_utf8_string($str,10);//输出结果:如果需要截取utf-8格...
?>

以上がこの記事の全内容です、皆様の勉強に少しでもお役に立てれば幸いです。


関連する推奨事項:

APP WeChat 支払いケース分析の PHP 実装

php マジック関数とマジック定数の使用方法

PHP マジック メソッド __call と __callStatic の使用方法

以上がphpはutf-8形式の文字列をインターセプトしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。