Обрезаем количество символлов или как пользоваться условием subst...

774
8 из 10
Проголосовало: 8






Сегодня будет урок по условному оператору uCoz, а именно о функции substr.

substr - Возвращает подстроку из строки S, начиная с позиции N1 (первый символ имеет позицию 0), длиной N2 символов. Параметр S должен быть задан как строка (или как результат вызова функции, возвращающей строку). N1 и N2 приводятся к целым значениям. Если N2 не указан, то возвращается подстрока с позиции N1 до конца строки S. Если N1 отрицателен, то начальная позиция отсчитывается от конца строки S. Если N2 отрицателен, то задает конечную позицию от конца строки S.

В данном уроке я расскажу как, где и как лучше можно использовать функцию substr.

Начнем с такого примера, который использую лично я, и вы можете наблюдать данный пример в данном материале - где написано название материала... Как вы могли заметить, в названии материала очень много символов и они не могут поместится все в заголовок вида материалов, и поэтому после определенного количества символов стоит троеточие, а если бы не использовался данный метод, то вид материалов был бы испорчен большим количеством символов, и что бы решить данную проблему, нужно сделать вот так:

Код

<?if(len($TITLE$)>=65)?><span title="$TITLE$"><?substr($TITLE$,0,65)?>...</span><?else?><span><?substr($TITLE$,0,65)?></span><?endif?>


Для начала нужно определить сколько символов в $TITLE$, для этого мы воспользовались такой функцией как - len, она определяет сколько символов в заголовке, ну а после мы пользуемся функцией substr... Тут вы должны для себя решить сколько в вашем виде может поместится символов, в моем случае 65 символов, и поэтому если будет больше 65 символов, то название материала обрезается троеточием, а если меньше 65 символов, то название ничем не обрежется.

Теперь разжёвываю <?substr($TITLE$,0,65)?>:
  • $TITLE$ - название материала.
  • 0 - это с какого символа начать выводить $TITLE$
  • 65 - на каком символе закончить вывод $TITLE$

    Если Вам нужно вывести текст с пятого символа по 10, то нужно сделать так: <?substr($TITLE$,5,5)?>
    Если вам нужно выводит текст просто с пятого символа и до конца, то нужно сделать так: <?substr($TITLE$,5)?>

    Получение информации между определенных символов:

    Код
    <?substr('<div>гуляю на webo4ka.ru</div>', strrpos('<div>гуляю на webo4ka.ru</div>', '<div>')+5, strrpos('<div>гуляю на webo4ka.ru</div>', '</div>')-strrpos('<div>гуляю на webo4ka.ru</div>', '<div>')-5)?>


    p.s. Вообще я уже не мало делал материалов, где использовался данный метод, яркий пример например вот Новый формат вывода даты (на условных операторах) на uCoz или вот этот Время в профиле прошедшее с последнего посещения сайта пользователем

    Вообщем данный метод можно использовать где и как угодно, главное это фантазия, но если у вас есть фантазия но вы не все никак не поймете как что-то реализовать, пишите в комментариях, мы постараемся решить вашу проблему...
  • Автор публикации: Загрузка
    Загрузка
    Вовчик, это его n материал
    Источник: http://webo4ka.ru/
    • Всего комментариев: 1

    Marishka
    0
    Marishka написал: Написано 19 Октября 2015 в 23:36
    Комментарий №1
    В использование substr много споров. Так как он кому то нарушит SEO кому то нет. Но многие используют CSS который скроет не нужное и не порежет его. Пример сss для скрытия:
    Код
    white-space: nowrap;max-width: 181px; overflow: hidden;

    • Оставить комментарий:
    Добавлять комментарии могут только зарегистрированные пользователи.
    Регистрация | Вход
    Меню сайта
    Категории
    Для помощи создания сайта uCoz 25
    Скрипты и модификации для Ucoz 2118
    Шаблоны форумов Ucoz 28
    Шаблоны сайтов Ucoz 431
    Авторство Webo4ki 309
    php скрипты для ucoz 57
    Графика для uCoz 40
    Мини-чат
    Последние комментарии
  • Marishka написал:
  • Можете добавить свои input поля, но сохраняйте их порядок в html для правильного сохранения и вывода.
  • Marishka написал:
  • Новая версия 1.3 (+6 новых станций):
    Установка:
    Демо: Перейти
  • Marishka написал:
  • Доп 8 станций:
    Код
    <div class="mSt"><p>Tropical</p><div data="2/trop_64">64</div><br><div data="2/trop_128">128</div><br><div data="2/trop_320">320</div></div>  
      <div class="mSt"><p>Нафталин FM</p><div data="2/naft_64">64</div><br><div data="2/naft_128">128</div><br><div data="2/naft_320">320</div></div>  
      <div class="mSt"><p>Rave FM</p><div data="2/rave_64">64</div><br><div data="2/rave_128">128</div><br><div data="2/rave_320">320</div></div>  
      <div class="mSt"><p>Gold</p><div data="2/gold_64">64</div><br><div data="2/gold_128">128</div><br><div data="2/gold_320">320</div></div>  
      <div class="mSt"><p>GOA/PSY</p><div data="2/goa_64">64</div><br><div data="2/goa_128">128</div><br><div data="2/goa_320">320</div></div>  
      <div class="mSt"><p>Minimal/Tech</p><div data="2/mini_64">64</div><br><div data="2/mini_128">128</div><br><div data="2/mini_320">320</div></div>  
      <div class="mSt"><p>House</p><div data="2/fut_64">64</div><br><div data="2/fut_128">128</div><br><div data="2/fut_320">320</div></div>  
      <div class="mSt"><p>Megamix</p><div data="2/mix_64">64</div><br><div data="2/mix_128">128</div><br><div data="2/mix_320">320</div></div>


    Fix работы радио:
    Находим: if(radUrl=="tm" || radUrl=="ps" || radUrl=="teo" || radUrl=="dc")
    Меняем на: if (radUrl == "tm" || radUrl == "ps" || radUrl == "teo" || radUrl == "dc" || radUrl == "gop")
  • CbIPoK2513 написал:
  • Мой вариант выдаёт аватарку картинкой, а не текстом.
  • waak написал:
  • и ещё забыл добавить что использую модуль каталог сайтов
    Последние темы
    Опрос
    258
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: