我正在使用以下内容来限制字符串中的字符数
<?php $eventtitle1 = get_the_title();
$eventtitle1_str = strip_tags($eventtitle1, '');
echo substr($eventtitle1_str,0,30) . "…"; ?>
如果字符串超过30个字符,是否可以添加“...”但如果字符串少则不能添加它?
e.g
所以这样做可以获得更长的标题:
“这是一个更长的时间......”
这样可以缩短标题:
“这是一个标题”
(即不是 - “这是一个标题......”)
答案 0 :(得分:2)
public function Truncate($string, $maxLen)
{
if (strlen($string) > $maxLen)
{
return substr($string, 0, $maxLen) . '...';
}
return $string;
}
答案 1 :(得分:2)
试试这个
<?php $eventtitle1 = get_the_title();
$eventtitle1_str = strip_tags($eventtitle1, '');
$strlen= strlen ( $eventtitle1_stng );
if($strlen>30)
echo substr($eventtitle1_str,0,30) . "…";
else
echo $eventtitle1_str;
?>
答案 2 :(得分:0)
试试这个:
if (strlen($eventtitle1_str) > 30) {
$eventtitle1_str = substr($eventtitle1_str,0,30) . "…";
}
答案 3 :(得分:0)
if ( strlen ( $eventtitle1_str ) > 30 ) {
//Some logic
}
else {
// Some logic
}
答案 4 :(得分:0)
答案 5 :(得分:0)
您可以使用strlen
来检查字符数。
<?php $eventtitle1 = get_the_title();
$eventtitle1_str = strip_tags($eventtitle1, '');
if(strlen($eventtitle1_str) > 30 ){
echo substr($eventtitle1_str,0,30) . "…";
}else{
echo substr($eventtitle1_str,0,30);
}
?>
感谢
答案 6 :(得分:0)
<?php
$eventtitle1 = get_the_title();
$eventtitle1_str = strip_tags($eventtitle1, '');
if (strlen($eventtitle1_str) > 30) {
echo substr($eventtitle1_str, 0, 30)."…";
} else {
echo $eventtitle1_str;
}
答案 7 :(得分:0)
除了这里的许多正确答案我还建议在HTML中使用 …
实体而不是...
以及 MBSTRING 扩展名。< / p>
所以代码看起来像:
$eventtitle1 = get_the_title();
$eventtitle1_str = strip_tags($eventtitle1, '');
if(mb_strlen($eventtitle1_str) > 30)
echo mb_substr($eventtitle1_str, 0, 30) . "…";
} else {
echo $eventtitle1_str;
}
答案 8 :(得分:0)
试试这个
echo substr_replace($ eventtitle1_str,'...',30);
在这里查看示例#1,希望这可以帮助:
http://us.php.net/manual/en/function.substr-replace.php
答案 9 :(得分:0)
我认为这是str_word_count
http://php.net/manual/en/function.str-word-count.php
示例
$test = " I love to play foodtball";
var_dump ( substr ( $test, 0, 12 ) );
var_dump ( wordCount ( $test, 12 ) );
输出
string ' I love to p' (length=12)
string 'I love to play ...' (length=18)
你能看到一个比另一个更可读吗
使用的功能
function wordCount($str, $max, $surffix = "...") {
$total = 0;
$words = str_word_count ( $str, 1 );
$output = "";
foreach ( $words as $word ) {
$total += strlen ( $word );
if ($max < $total)
break;
$output .= $word . " ";
}
$output .= $surffix ;
return trim ( $output );
}