Укоротить строку с "..." телом - PullRequest
4 голосов
/ 23 января 2010

Так же, как имена приложений iPhone, которые работают долго, имя сокращается. Мне очень нравится этот метод закорачивания имени или строки, а не добавление к нему предложения "...". Извините, если я сбиваю с толку, мне трудно объяснить, что я пытаюсь сделать. Так что я покажу пример!

Это то, что у меня есть, чтобы добавить «...» к сокращенной строке (в PHP)

<?php
  $string = "This is a test script";

  if (strlen($string) >= 14)
    echo(substr($string), 0, 13). "..."); // This is a test...
  else
    echo($string); // This is a test script
?>

Я хотел бы разделить имя или строку и оставить первые, скажем, 10 символов, затем вставить «...» в середине и, наконец, взять последние 5 букв строки и отобразить их. Я думал о чем-то вроде:

<?php
  $string = "This is a test script";

  if (strlen($string) >= 20)
    echo(substr($string, 0, 10). "..." .substr($string, 15, 20)); //This is a ...script
  else
    echo($string);
?>

Но поймите, что это не сработает, если в конце будет более 5 букв. Любые указатели в направлении записи были бы великолепны, спасибо!

Ответы [ 2 ]

14 голосов
/ 23 января 2010
if (strlen($string) >= 20) {
    echo substr($string, 0, 10). " ... " . substr($string, -5);
}
else {
    echo $string;
}
2 голосов
/ 23 января 2010

Третий аргумент substr() - это длина, а не конец. Просто передайте 5 вместо.

Также substr($string, -5).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...