ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルで中国語の文字列をインターセプトするためのコードの概要

PHP_PHP チュートリアルで中国語の文字列をインターセプトするためのコードの概要

Jul 21, 2016 pm 03:27 PM
php 中国語 コード タスク 持ってくる インターセプト はい プログラミング いいえ

文字列インターセプトは非常に一般的なプログラミング タスクであり、漢字を使用した文字列インターセプトがよく使用されます。難しくはありませんが、関数を自分で書くのは時間がかかります。ここでは、基本的なニーズを満たすことができる、比較的使いやすい文字列インターセプト関数を紹介します。

1. GB2312 中国語文字列をインターセプトします

コードをコピーします コードは次のとおりです:

< ?php
//中国語文字列をインターセプト
function mysubstr($str, $start, $len) {
$tmpstr = "";
$strlen = $start + $len;
for($i = 0; $i <$strlen; $i++) {
if(substr($str, $i, 1 )) > 0xa0) {
$tmpstr .= substr($str, $i, 2);
$tmpstr .= substr($i, 1); return $tmpstr;
}
?>



2. utf8 でエンコードされたマルチバイト文字列をインターセプトします

コードは次のとおりです:
< /インターセプトutf8文字列 function utf8Substr($str, $from, $len) { return preg_replace('#^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$ .'}' から。'((?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,'.$len.'}).*#s',
'$1 ' ,$str);
}
?>



3. UTF-8 および GB2312 でサポートされる漢字インターセプト関数



コードは次のとおりです。 php
/*
Utf-8 と gb2312 の両方でサポートされている漢字インターセプト関数
cut_str(string, インターセプト長, 開始長, エンコーディング); デフォルトのエンコーディングは utf-8 です
デフォルトの開始長は 0 です
*/
関数cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if($code == 'UTF-8') { $pa = "/[x01-x7f ]|[xc2-xdf ][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80- xbf][x80-xbf ]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";
preg_match_all($pa, $string, $t_string);
if(count($ t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."..."; $t_string[0], $start, $sublen));
}
$start = $start*2;
$strlen = strlen($string); tmpstr = '';
for($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;
}
}
$str = "abcd は文字列をインターセプトする必要があります";



4. BugFree の文字インターセプト関数



コードをコピーします:


< ?php
/**
* @package BugFree
* @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $
*
*
* 文字列の一部を返す(関数 substr( ))
*
* @著者 Chunsheng Wang <wwccss@263.net>
* @param string $String 切り取る文字列。
* @param int $Length 返される文字列の長さ。
* @param booble $Append "..." を追加するかどうか: false|true
* @return string 切り取られた文字列。
*/ function sysSubStr($String,$Length ,$Append = false)
{
if (strlen($String) < = $Length )
{ return $String; } else {
$I = 0; )
{
$StringTMP = substr ($String,$I,1);
if ( ord($StringTMP) >=224 )
{
$StringTMP = substr($String,$I,3); I = $I + 3;
elseif( ord($StringTMP) >=192 )
$StringTMP = substr($String,$I,2);
else
{
$I = $I + 1;
}
$StringLast[] = $StringTMP;
$StringLast = implode("",$StringLast)
{
$StringLast .= "...";
return $StringLast;
}
}
$String = "17test.info は中国の自動テストの最前線にあります"; false;
echo sysSubStr($String,$Length,$Append)

;

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/323809.html技術記事文字列インターセプトは非常に一般的なプログラミング タスクであり、漢字を使用した文字列インターセプトがよく使用されます。難しくはありませんが、関数を自分で書くのは時間がかかります。 ここで紹介します...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

PHPでHTML/XMLを解析および処理するにはどうすればよいですか?

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

母音を文字列にカウントするPHPプログラム

コーディングの鍵: 初心者のための Python の力を解き放つ コーディングの鍵: 初心者のための Python の力を解き放つ Oct 11, 2024 pm 12:17 PM

コーディングの鍵: 初心者のための Python の力を解き放つ

Java をシンプルに: プログラミング能力を高める初心者向けガイド Java をシンプルに: プログラミング能力を高める初心者向けガイド Oct 11, 2024 pm 06:30 PM

Java をシンプルに: プログラミング能力を高める初心者向けガイド

未来を創る: まったくの初心者のための Java プログラミング 未来を創る: まったくの初心者のための Java プログラミング Oct 13, 2024 pm 01:32 PM

未来を創る: まったくの初心者のための Java プログラミング

Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする Oct 11, 2024 pm 08:58 PM

Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする

See all articles