ホームページ  >  記事  >  バックエンド開発  >  100 個の中から 1 個を見つけます。文字列の長さを確認します。

100 個の中から 1 個を見つけます。文字列の長さを確認します。

WBOY
WBOYオリジナル
2016-06-13 13:21:32699ブラウズ

100 ポイント。検出文字列の長さを求めます。
$str[0] = "Hello 123asd [haha]"
$str[1] = "Hello 123asd [How are you?]"
// 1 つの漢字 (utf-8 エンコーディング) 記号 [内側の単語と外側の記号は 1 文字としてカウントされます]
次に長さを計算します
結果は $str[0] と $str[1] の長さは 9 です

関数として書くのがベストです。ありがとうございます


-----解決策---------------------------- ---
持っていません 投稿者の質問がよくわかりませんが、手持ちの機能が 1 つあります。

PHP コード

/*** utf8の長さを取得する
     * @作者mu_rain
     * @param 文字列 $str
     * @return Int*/
    静的関数 strlen_utf8($str) {
        $i = 0;
        $count = 0;
        $len = strlen ($str);
        while ($i = $len) ブレーク;
            if($chr & 0x80) {
                $chr <font color="#e78608">------解決策------------------</font><br>
PHP コード
    function myLen($str,$startTag='[',$endTag=']',$encoding='utf-8')
    {
        $st = preg_quote($startTag);
        $et = preg_quote($endTag);
        return mb_strlen(preg_replace("#{$st}[^{$et}]*{$et}#","~",$str),$encoding);
    }
echo myLen("こんにちは 123asd [笑]");//9
<br><font color="#e78608">------解決策----------------------</font><br>大量の文字列関数が付属しているため、使用に時間がかかります。 <br>
PHP コード
<?php
/*** JetBrains PhpStorm によって作成されました。
 * ユーザー: 管理者
 * 日付: 12-2-17
 * 時間: 上午11:43
 * このテンプレートを変更するには、ファイル | を使用します。設定 |ファイルテンプレート。*/
/*** 文字列処理の基本クラス。
 * @作者mu_rain*/
クラス kString{
    //-------------------------------------------------
    /*** 文字列をエンコードするには、base64_encode を置き換えます
     *
     * @param $str オブジェクト インスタンス
     * @パッケージKDG
     * @subpackage 文字列
     * @category Putils
     * @著者ジム
     * @return 混合*/
    //-------------------------------------------------
    パブリック静的関数 encode($str){
        $src = 配列("/","+","=");
        $dist = array("-a","-b","-c");
        $old = Base64_encode($str);
        $new = str_replace($src,$dist,$old);
        $new を返します。
    }

    //-------------------------------------------------
    /*** 文字列をデコードするには、base64_decode を置き換えます
     *
     * @param $str オブジェクトの例
     * @パッケージP
     * @subpackage 文字列
     * @category Putils
     * @著者ジム
     * @return 混合*/
    //-------------------------------------------------
    パブリック静的関数 decode($str){
        $src = array("-a","-b","-c");
        $dist = array("/","+","=");
        $old = str_replace($src,$dist,$str);
        $new = Base64_decode($old);
        $new を返します。
    }



    //-------------------------------------------------
    /*** 文字列をデコードするには、base64_decode を置き換えます
     *
     * @param $str オブジェクトの例
     * @パッケージP
     * @subpackage 文字列
     * @category Putils
     * @著者ジム
     * @return 混合*/
    //-------------------------------------------------
    public static function showAsFileSize($str){ // 1024 を 1k に変更します
        $count = intVal($str);
        $destSize = $count/1024;
        $destSize =round($destSize,1);
        $destSize."K"を返します;
    }


  

<div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。