PHP字符截取函数,兼容各类gbk,utf-8编码
在PHP中字符截取函数substr只能截取全英文才不会出现乱码如果里面有中文肯定是无法截取的,下面小编来给大家介绍两个兼容各类gbk,utf-8编码字符串截取函数
例1
function CsubStrPro($str, $start, $length, $charset = "utf-8", $suffix = false) { if (function_exists ( "mb_substr" )) return mb_substr ( $str, $start, $length, $charset ); $re ['utf-8'] = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"; $re ['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/"; $re ['gbk'] = "/[x01-x7f]|[x81-xfe][x40-xfe]/"; $re ['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"; preg_match_all ( $re [$charset], $str, $match ); $slice = join ( "", array_slice ( $match [0], $start, $length ) ); if ($suffix) return $slice . "…"; return $slice; }
例2
function subString_UTF8($str, $start, $lenth) { $len = strlen($str); $r = array(); $n = 0; $m = 0; for($i = 0; $i < $len; $i++) { $x = substr($str, $i, 1); $a = base_convert(ord($x), 10, 2); $a = substr('00000000'.$a, -8); if ($n < $start){ if (substr($a, 0, 1) == 0) { }elseif (substr($a, 0, 3) == 110) { $i += 1; }elseif (substr($a, 0, 4) == 1110) { $i += 2; } $n++; }else{ if (substr($a, 0, 1) == 0) { $r[ ] = substr($str, $i, 1); }elseif (substr($a, 0, 3) == 110) { $r[ ] = substr($str, $i, 2); $i += 1; }elseif (substr($a, 0, 4) == 1110) { $r[ ] = substr($str, $i, 3); $i += 2; }else{ $r[ ] = ''; } if (++$m >= $lenth){ break; } } } return $r; } // End subString_UTF8; }// End String
#由于此函数返回的是一个数组,因此要配合join函数来显示字符串:
#join('',subString_UTF8($str, $start, $lenth));
#在页面显示的时候还可以在此语句后面连一个"..."

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











この記事では、PHP が返す文字列の最初の文字の ASCII 値について詳しく説明します。編集者が非常に実用的であると考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 PHP は文字列の最初の文字の ASCII 値を返します はじめに PHP では、文字列の最初の文字の ASCII 値を取得することは、文字列処理と文字エンコーディングの基本的な知識を必要とする一般的な操作です。 ASCII 値は、コンピュータ システムで文字の数値を表すために使用され、文字の比較、データの送信、および保存に重要です。文字列の最初の文字の ASCII 値を取得するプロセスには、次の手順が含まれます。 文字列の取得: ASCII 値を取得する文字列を決定します。変数または文字列定数を指定できます

この記事では、PHP がどのようにして、別の文字列内の文字列の開始位置から終了位置まで文字列を返すかを詳しく説明します。非常に実用的であると編集者が考えたので、参考として共有します。この記事. この記事から何かを得ることができます。 PHP で substr() 関数を使用して、文字列から部分文字列を抽出します。substr() 関数は、文字列から指定された範囲内の文字を抽出できます。構文は次のとおりです。 substr(string,start,length) ここで、 string: 部分文字列が抽出される元の文字列。 start: 部分文字列の開始位置のインデックス (0 から始まります)。 length (オプション): 部分文字列の長さ。指定されていない場合は、

文字列をインターセプトするための PHP の substr() 関数について理解します。PHP 言語では、substr() 関数は非常に便利な文字列処理関数です。指定された位置と長さで文字列の断片をインターセプトするために使用できます。 substr() 関数は、インターセプトする文字列、インターセプトの開始位置、およびインターセプトの長さの 3 つのパラメーターを受け入れます。以下では、substr() 関数の使い方を詳しく紹介し、具体的なコード例を示します。 substr() 関数の基本的な使い方 substr() 関数

PHP の preg_match() 関数: 正規表現を使用して文字列を照合する方法、具体的なコード例が必要です 正規表現は、文字列処理における非常に強力で柔軟なツールです。 PHP では、preg_match() 関数を使用して通常の文字列マッチングを簡単に実行できるため、さまざまな複雑なパターン マッチングおよび置換操作を実現できます。この記事では、preg_match() 関数の使用法を紹介し、読者が関数をよりよく理解して適用できるように、具体的なコード例を示します。 preg_match

この記事では、PHP で文字列の先頭文字を小文字に変換する仕組みを詳しく説明しますが、非常に実践的だと思いますので、参考として共有します。 PHP 文字列の最初の文字を小文字に変換する はじめに PHP では、文字列の最初の文字を小文字に変換するのが一般的な操作です。これは、組み込み関数 lcfirst() または文字列演算子 strto lower() を使用して実現できます。このガイドでは両方のアプローチについて詳しく説明し、コード例とベスト プラクティスを示します。方法 1: lcfirst() 関数を使用する lcfirst() 関数は、文字列の最初の文字を小文字に変換し、残りの文字を変更しないように特別に設計されています。その構文は次のとおりです。

PHP 関数 "substr" を使用して、文字列の部分文字列を取得します。PHP プログラミングでは、文字列の内容の一部を取得する必要がある状況によく遭遇します。このとき、PHP の組み込み関数「substr」を使用してこれを実現できます。この記事では、「substr」関数を使用して文字列の部分文字列を取得する方法を説明し、いくつかのコード例を示します。 1. substr 関数の基本的な使い方 substr 関数は、文字列から指定した長さの部分文字列を取得するために使用します。その基本的な構文は次のとおりです。

無効な PHPmb_substr 関数の解決策 PHP アプリケーションを開発する場合、文字列をインターセプトするために mb_substr 関数がよく使用されます。ただし、主にさまざまな環境での文字エンコーディングの問題が原因で、mb_substr 関数が無効になる状況が発生することがあります。この問題を解決するには、mb_substr 関数を効果的に処理する必要があります。一般的な解決策は、mb_substr 関数が次のことを実行できるようにすることです。

正規表現は、文字列の照合や置換などの操作を実行できる、コンピュータ サイエンスにおける強力かつ柔軟なツールです。 PHP では、正規表現のマッチングに preg_match 関数を使用できます。 preg_match 関数の使用形式は次のとおりです: preg_match($pattern,$subject,$matches); このうち、$pattern は照合したいルールである正規表現パターンを表し、$subject はルールを表します。
