Обрезание строки url по заданному кол-ву символов

InstantCMS 1.10.6

 
Посетитель
small user social cms
Сообщений: 43
Сейчас формируется урл из всего заголовка целиком. А как задать, чтобы урл брал только первые 40 символов?

на 1.10.5 на это работал код в файле cms.php
Код PHP:
  1.  
  2. if (!$string){ $string = 'untitled'; }
  3. if (is_numeric($string)){ $string .= 'untitled'; }
  4.  
  5. return mb_substr($string, 0, 40);
на 1.10.6 все уже сложнее :)

Код PHP:
  1. /**
  2.  * Обрезает строку по заданному кол-ву символов
  3.  * @return str
  4.  */
  5. function crop($string, $length = 250, $etc = ''){
  6.  
  7. if ($length == 0) { return ''; }
  8.  
  9. $string = str_replace("\n", ' ', strip_tags($string));
  10.  
  11. if (mb_strlen($string) > $length){
  12.  
  13. $length -= min($length, mb_strlen($etc));
  14. $string = preg_replace('/\s+?(\S+)?$/u', '', mb_substr($string, 0, $length+1));
  15.  
  16. return mb_substr($string, 0, $length) . $etc;
  17.  
  18. } else {
  19. return $string;
  20. }
Если поменять там 250 на 40, то эффекта не будет. Также формируется урл из всего заголовка. Как нужно поменять, чтобы урл формировался только из 40 символов из заголовка?
Редактировалось: 2 раз (Последний: 10 февраля 2015 в 00:40)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3586
Антон Самарин:
Если поменять там 250 на 40, то эффекта не будет.
Да, эффекта не будет. Так как это - значение по умолчанию. Вам надо выводить ваш урл, как-то так, $url = crop($url, 40);
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 692
Настройки версии 1.10.6

Обрезание строки url по заданному кол-ву символов
Skype: pasha--g
Посетитель
small user social cms
Сообщений: 43
Pasha, Волшебно! Спасибо! smile
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: