English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

phpでutf8を切り取る-8フォーマットされた文字列の実例コード

phpでutf8を切り取る-8形式の文字列

PHPでは、文字列を切り取る必要があります。英文字符は1バイトを占めますが、中国語文字は2バイトを占めますが、これはGBKエンコードに対してですが、現在の国際的に普及しているUTF8エンコード中、一文字の中国語文字が占める3バイト。この記事では、PHPでUTF-8フォーマット文字列の関数。

例えば説明します:

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, '0', STR_PAD_LEFT ), '0' )) {
  if ($length < 1.0) {
  break;
  }
  $result .= substr ( $string, $i, $number );
  $length -= 1.0;
  $i += $number - 1;
 
  $result .= substr ( $string, $i, 1 );
  $length -= 0.5;
 }
 }
 $result = htmlspecialchars ( $result, ENT_QUOTES, 'UTF-8' );
 if ($i < $strlen) {
 $result .= $etc;
 }
 return $result;
}

UTFを切り取る必要がある場合-8フォーマットの文字列を直接この関数を呼び出して即可。

<?php
  $str="UTFを切り取る必要がある場合-8フォーマットの文字列を直接この関数を呼び出して即可。";
  8_string($str,10);//出力結果:UTFを切り取る必要がある場合-8格...
?>

読んでいただきありがとうございます。皆様のサポートに感謝します。

おすすめ