我正在尝试做下一个任务: 我有一个字符串,例如。 “产品名称很长,因此可以使用多行”。我想进行下一次自定义:如果字符串中的多个字符(没有空格)将超过22,则在最后一个字上剪切,然后添加“...”。
答案 0 :(得分:1)
<?php
if(strlen($yourString) > 22)
$rest = substr($yourString, 22,-1)."...";
else
$rest = $yourString;
echo $rest;
?>
如果你想要最后一个单词不会被删除,那么
<?php
$yourString = "bla blaaa bla blllla bla bla";
$out = "";
if(strlen($yourString) > 22) {
while(strlen($yourString) > 22) {
$pos = strrpos($yourString, " ");
if($pos !== false && $pos <= 22) {
$out = substr($yourString,0,$pos);
break;
} else {
$yourString = substr($yourString,0,$pos);
continue;
}
}
} else {
$out = $yourString;
}
echo "Output String: ".$out;
?>
答案 1 :(得分:0)
if(strlen($myString)>=22)
{
$result = substr($myString, 0, 22)."...";
}
else
{
$result = $myString;
}
答案 2 :(得分:-1)
你可以这样做:
<?php
$text = "A very long woooooooooooord.";
if(strlen($text) > 22 ) {
echo substr($text, 1, 22)."..";
} else {
echo $text;
}
?>