PHPのord関数で漢字切り捨て問題が解決?
関数は次のように定義されます:
int ord ( string$string)
文字列 string の最初の文字の ASCII コード値を返します。
この関数は chr() の補完関数です。
試してみます:
echo ord('I');これは 230 しか返せません。 ファイルを u8 で保存して出力したのは 230 だけで、16 進数に変換された 230 は e6 です。 utf-8 での私のエンコーディングは e68891 で、最初のバイトのみを取得します
echo chr(0xe6).chr(0x88).chr(0x91);
この例は utf-8 で使用できます 漢字「我」を出力します
文字エンコーディングについて知りたい場合は、ここをクリックしてください 文字エンコーディング
中国語の文字のgbk、utf-8、unicodeエンコーディング方法を確認したい場合は、Notepad++のHEXエディタを使用することをお勧めします。ここからダウンロードできます:
http://pan.baidu.com/s/1hquyJwo
こんな感じです
スキルを向上させましょう:
勤勉であることに加えて、プログラマーとして代名詞であると同時に、神秘性の象徴でもあります。たまにはセクシーなふりをするのもいいですね。エンコーディングについて話しているので、
utf-8 エンコーディングの世界では、誰もが自分に属する単語を見つけることができるわけではありません
「I」のエンコーディングは 3 つあります。バイトはそれぞれ e6、88、91 です。これにあなたの誕生日を入れたら、どんな言葉ができますか? 考えてみると、少しワクワクします
たとえば、9 月 4 日生まれの場合は、 1988 の場合、対応する自分の 3 バイトは e9、88、および 94 です。とにかく、この方法を自分で使用することもできます
この方法によると、私のキャラクターは良いキャラクターです。あなたはあなた。
この方法によると、なぜ誰もがそれを持っていないのでしょうか? それなら、utf-8 のバイナリ保存規則を読めばわかります
はは、ここをクリックして文字エンコーディングを確認しましょう
無駄なものをたくさん引っ張ってきました。でも実際はそうなんですしかし、今ではそれを直接使用できるようになりました。文字エンコーディングと ord 関数についてよく理解したので、utf-8 でエンコードされた文字列を切り詰める関数を書いてみましょう。
コードは非常に複雑で最適化する必要がありますが、理解するのは簡単で、貼り付けた後に実行でき、基本的なシナリオが考慮されており、非常に満足です
<?php $a = "jf我们de没"; /** * @brief * * @param $str 待截取的字符串 * @param $start 字符串开始位置 * @param $num 截取到多长的字符串 * * @return */ function utf8_substr($str, $start, $num){ $res = ''; //存储截取到的字符串 $cnt = 0; //计数器,用来判断字符串是否走到$start位置 $t = 0; //计数器,用来判断字符串已经截取了$num的数量 for($i = 0; $i < strlen($str); $i++){ if(ord($str[$i]) > 127){ //非ascii码时 if($cnt >= $start){ //如果计数器走到了$start的位置 $res .=$str[$i].$str[++$i].$str[++$i]; //utf-8是三字节编码,$i指针连走三下,把字符存起来 $t ++; //计数器++,表示我存了几个字符串了到$num的数量就退出了 }else{ $i++; //如果没走到$start的位置,那就只走$i指针,字符不用处理 $i++; } $cnt ++; }else{ if($cnt >= $start){ //acsii码正常处理就好 $res .=$str[$i]; $t++; } $cnt ++; } if($num == $t) break; //ok,我要截取的数量已经够了,我不贪婪,我退出了 } return $res; } var_dump(utf8_substr($a, 3, 10)); //结果应该是你想要的?>

ホット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)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています
