明らかなことは、documentationです。
しかし助けるために:substr($str, $start, $end);
$str
は
$start
テキストではで開始する文字のインデックスです。あなたの場合、それは非常に始まりを意味する0である可能性があります。
$end
は、どこで切り詰めるかです。たとえば、15文字で終了したいとします。
<?php
$text = "long text that should be truncated";
echo substr($text, 0, 15);
?>
、あなたがこの得るでしょう:あなたはこのようにそれを記述します
long text that
は理にかなっていますか?
EDIT
あなたが与えたリンクは、あなたが単語の途中で切断されないように所望の長さにテキストを細断した後、最後の空白を見つけるための機能です。しかし、重要なことの1つが欠けています。つまり、関数に渡される長さは、25文字にすることを前提にするのではなく、長さにしてください。だからここに更新されたバージョンです:
は
function truncate($text, $chars = 25) {
if (strlen($text) <= $chars) {
return $text;
}
$text = $text." ";
$text = substr($text,0,$chars);
$text = substr($text,0,strrpos($text,' '));
$text = $text."...";
return $text;
}
は、だからあなたの場合には、あなたがのfunctions.phpファイルにこの機能を貼り付けますし、あなたのページにこのようにそれを呼び出す:これはあなたのポストを切り倒すます
$post = the_post();
echo truncate($post, 100);
100文字に等しいかそれ以上の空白が最後に出現するまでです。 100の代わりに任意の数を渡すことは明らかです。あなたは `SUBSTR()`について
何を理解していませんか?あなたはどこで混乱していますか?それはあなたが与えるパラメータに基づいて、ソース文字列の一部を返す1つの関数です。 – Brad
はい、単に 'substr()'を使用してください。最初のパラメータはテキスト、2番目はオフセットです.0に設定すると、1,2,3に設定すると先頭から切り捨てられます。 3番目の引数は切り捨てられるべき長さです。たとえば、 'substr(" hello world "、3、4)'は 'lo w'を返します。3の後に4文字を返します。 –
[Multibyte Stringをn個の文字に切り捨てる]の重複が可能です。http://stackoverflow.com/questions/2154220/truncate-a-multibyte-string-to-n-chars) – Gordon