ホームページ > バックエンド開発 > PHPチュートリアル > PHP は、全角文字を含む文字化けなしで中国語と英語をインターセプトします

PHP は、全角文字を含む文字化けなしで中国語と英語をインターセプトします

WBOY
リリース: 2016-07-25 09:01:18
オリジナル
1056 人が閲覧しました
コードソース: Xiaomo (自分)
GBK の場合は UTF-8 に準拠します
に変更します $content .= $str[$sing].$str[$sing+1];
$sing += 3; が $sing += 2; に変更されました。
  1. /**
  2. * 中国語と英語のインターセプト
  3. * @param string インターセプトする文字列
  4. * @param string インターセプトする長さ(合計長を超える場合は合計長として計算されます)
  5. * @param [文字列] (オプション) 開始位置 (最初は 0)
  6. * @return string
  7. * @author Xiaomo 244349067@qq.com
  8. */
  9. function mixSubstr($str, $length, $start=FALSE)
  10. {
  11. if( ! $length){
  12. return false;
  13. }
  14. $strlen = strlen( $str);
  15. $content = '';
  16. $sing = 0;
  17. $count = 0;
  18. if($length > $strlen) {
  19. $length = $strlen;
  20. }
  21. if($start > ;= $strlen) {
  22. return false;
  23. }
  24. while($length != ($count-$start))
  25. {
  26. if(ord($str[$sing]) > 0xa0) {
  27. if( !$start || $start <= $count) {
  28. $content .= $str[$sing].$str[$sing+1].$str[$sing+2];
  29. }
  30. $sing + = 3;
  31. $count++;
  32. }else{
  33. if(!$start || $start <= $count) {
  34. $content .= $str[$sing];
  35. }
  36. $sing++;
  37. $count++;
  38. }
  39. }
  40. return $content;
  41. }
コードをコピー


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート