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';
何かアイデアはありますか?
質問する
61 次
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を調べるか、単にスペースで分割して、結果の配列から文を再構築することをお勧めします。
于 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 に答える