将字符串限制为某些字符数

时间:2014-03-04 13:00:57

标签: php

我正在尝试做下一个任务: 我有一个字符串,例如。 “产品名称很长,因此可以使用多行”。我想进行下一次自定义:如果字符串中的多个字符(没有空格)将超过22,则在最后一个字上剪切,然后添加“...”。

3 个答案:

答案 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;
}

?>