-1

php変数のフィルタリングphpsimplehtml domパーサーの変数からの文字
$des = 'lorem ipsum domet lorem ipsum dometlorem ipsum dometlorem ipsum dometlorem ipsum dometlorem ipsum dometlorem ipsum dometlorem ipsum dometlorem ipsum dometlorem ipsum dometlorem;
を制限したいのですが、このテキストを新しい変数に制限したいので、$desは10文字などの制限された文字に最小化されます。そしてこのような新しい変数>
$new_des ='lorem ipsu';
何かアイデアはありますか?

4

4 に答える 4

0

これを使って:

$new_des = substr($des, 0, 10);

最初のパラメーターはカット元の文字列、2番目のパラメーターはカット元を示し(この場合は開始点は0)、3番目のパラメーターはカットする文字の量を示します。

于 2012-09-15T09:21:17.203 に答える
0

与えられた例に合わせるには:

$new_des = substr($des,0,10)

文字ではなく「単語」を本当に意味する場合:

$new_des = implode(' ', array_slice(str_word_count($des, 1),0,10));
于 2012-09-15T09:22:54.473 に答える
0

10語、それとも10文字?それらは2つの異なる方法で行われます。10文字は単にsubstr関数を含みます:

$new_des = substr($des, 0, 10);

http://php.net/manual/en/function.substr.php

10語の場合、もう少し複雑です。str_word_countを調べるか、単にスペースで分割して、結果の配列から文を再構築することをお勧めします。

http://php.net/manual/en/function.str-word-count.php

于 2012-09-15T09:23:06.207 に答える
0

CodeIgniterテキストヘルパーから

同じファイルでcharacter_limiterも探します

/**
     * Word Limiter
     *
     * Limits a string to X number of words.
     *
     * @param   string
     * @param   int
     * @param   string  the end character. Usually an ellipsis
     * @return  string
     */
    function word_limiter($str, $limit = 100, $end_char = '…')
    {
        if (trim($str) === '')
        {
            return $str;
        }

        preg_match('/^\s*+(?:\S++\s*+){1,'.(int) $limit.'}/', $str, $matches);

        if (strlen($str) === strlen($matches[0]))
        {
            $end_char = '';
        }

        return rtrim($matches[0]).$end_char;
    }
于 2012-09-15T09:23:31.167 に答える