我正在使用下面的getExcerpt()函数来动态设置一段文本的长度。但是,我的substr方法目前基于字符数。我想把它转换为字数。我需要分离函数还是有一种PHP方法可以代替substr?
function getExcerpt()
{
//currently this is character count. Need to convert to word count
$my_excerptLength = 100;
$my_postExcerpt = strip_tags(
substr(
'This is the post excerpt hard coded for demo purposes',
0,
$my_excerptLength
)
);
return ": <em>".$my_postExcerpt." [...]</em>";}
}
答案 0 :(得分:4)
根据参数的不同,它可以返回字符串中的单词数(默认值)或找到的单词数组(如果您只想使用它们的子集)。
所以,要返回一段文字的前100个单词:
function getExcerpt($text)
{
$words_in_text = str_word_count($text,1);
$words_to_return = 100;
$result = array_slice($words_in_text,0,$words_to_return);
return '<em>'.implode(" ",$result).'</em>';
}
答案 1 :(得分:1)
如果您希望脚本不要忽略句点和逗号以及其他标点符号,那么您应该采用这种方法。
function getExcerpt($text)
{
$my_excerptLength = 100;
$my_array = explode(" ",$text);
$value = implode(" ",array_slice($my_array,0,$my_excerptLength));
return
}
注意:这只是一个例子。希望它会对你有帮助。如果对你有所帮助,别忘记投票。