Ограничение вывода эха PHP до 200 символов

Я пытаюсь ограничить свой PHP echo только 200 символами, а затем, если их больше заменить на "...".

Как я могу изменить следующую инструкцию, чтобы это разрешить?

<?php echo $row['style-info'] ?>

Ответ 1

Ну, вы можете создать пользовательскую функцию:

function custom_echo($x, $length)
{
  if(strlen($x)<=$length)
  {
    echo $x;
  }
  else
  {
    $y=substr($x,0,$length) . '...';
    echo $y;
  }
}

Вы используете его следующим образом:

<?php custom_echo($row['style-info'], 200); ?>

Ответ 2

Вот так:

echo substr($row['style-info'], 0, 200);

Или завернутый в функцию:

function echo_200($str){
    echo substr($row['style-info'], 0, 200);
}

echo_200($str);

Ответ 3

<?php echo substr($row['style_info'], 0, 200) .((strlen($row['style_info']) > 200) ? '...' : ''); ?> 

Ответ 4

Он выдает строку из 200 символов или 200 обычных символов ИЛИ 200 символов, за которыми следует "..."

$ur_str= (strlen($ur_str) > 200) ? substr($ur_str,0,200).'...' :$ur_str;

Ответ 6

более гибкий способ - это функция с двумя параметрами:

function lchar($str,$val){return strlen($str)<=$val?$str:substr($str,0,$val).'...';}

использование:

echo lchar($str,200);

Ответ 7

function TitleTextLimit($text,$limit=200){
 if(strlen($text)<=$limit){
    echo $text;
 }else{
    $text = substr($text,0,$limit) . '...';
    echo $text;
 }

Ответ 8

Не знаю, почему никто не упомянул об этом раньше -

echo mb_strimwidth("Hello World", 0, 10, "...");
// output: "Hello W..."

Дополнительная информация - http://php.net/manual/en/function.mb-strimwidth.php

Ответ 9

echo strlen($row['style-info']) > 200) ? substr($row['style-info'], 0, 200)."..." : $row['style-info'];

Ответ 10

echo strlen($row['style-info'])<=200 ? $row['style-info'] : substr($row['style-info'],0,200).'...';