Задать вопрос
cashloveyou
@cashloveyou
Хороший чел

Как в данном случаи Обрезать url?

Добрый вечер прошу разобраться с обрезкой url для сео , при парсинге новостей длина title бывает оч длинной сам url транслируется с кирилици на латиницу
$slug = slugger($title);

function slugger($str){
    $tr = array(
        "А"=>"a","Б"=>"b","В"=>"v","Г"=>"g","Д"=>"d",
        "Е"=>"e","Ё"=>"yo","Ж"=>"j","З"=>"z","И"=>"i",
        "Й"=>"y","К"=>"k","Л"=>"l","М"=>"m","Н"=>"n",
        "О"=>"o","П"=>"p","Р"=>"r","С"=>"s","Т"=>"t",
        "У"=>"u","Ф"=>"f","Х"=>"h","Ц"=>"c","Ч"=>"ch",
        "Ш"=>"sh","Щ"=>"sch","Ъ"=>"","Ы"=>"yi","Ь"=>"",
        "Э"=>"e","Ю"=>"yu","Я"=>"ya","а"=>"a","б"=>"b",
        "в"=>"v","г"=>"g","д"=>"d","е"=>"e","ё"=>"yo","ж"=>"j",
        "з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
        "м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
        "с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
        "ц"=>"c","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"y",
        "ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
        " "=> "_", "."=> "", "/"=> "_"
    );
    return strtr($str,$tr);
}
  • Вопрос задан
  • 309 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Stalker_RED
@Stalker_RED
string substr ( string $string , int $start [, int $length ] ). Возвращает подстроку строки string , начинающейся с start символа по счету и длиной length
php.net/manual/ru/function.substr.php

$url = 'https://example.com/somethingverylong?foo=bar&otherparam=somevalue&hello=world';
$short = substr($url, 0, 20); // кусок от начала и до двадцатого символа
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
B-Allen
@B-Allen
webmaster
Дополню Сталкера, можешь использовать что то наподобие этой функции, чтобы не разрезать слова при обрезке строки.
/* ===Обрезка строки===*/
function strMsgLimit($str,$limit=200) {
  $string = mb_substr($str, 0, $limit);
  $string = mb_substr($string, 0, strrpos($string, ' '));
  $string = rtrim($string, "!,.-");
return $string;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы