[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как обрезать текст и убрать из него лишние пробелы
bowa
Доброго времени.

Нашел такое (частичное решение) решение:
<?php 
$a = $item["description"];
$b = mb_substr($a, 0, 100);
if ($a != $b) {
$b .= '...';
}
echo strip_tags($b);?>


текст обрезает, убирает все тэги, но как сделать что бы еще и лишние пробелы убрал?

Нашел такой вариант:
function full_trim($str)                            
{
return trim(preg_replace('/\s{2,}/', ' ', $str));

}


И еще такой:
$text = preg_replace("/(\r\n)+/i", "\r\n", $text);



Проблема в том что не представляю как их объединить?!
DedMorozzz
если пробелы по краям - то просто трим и всё
$text = trim($text);


_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
bowa
извините, подскажите пожалуйста, как его правильно вставить в этот код:
<?php 
$a = $item["description"];
$b = mb_substr($a, 0, 100);
if ($a != $b) {
$b .= '...';
}
echo strip_tags($b);?>
DedMorozzz
этот код вообще не правильный. Ибо если длина описания менее 100 символов, и как следствие ничего не обрежется - то этот текст не выведется
далее - символы вырезаются после проверки длины. А вдруг вырежет все символы? Итого - сперва трим и стрип_тагс - далее проверять на длину
Должно быть на подобии такого:

<?php
$text = $item["description"];
$text = strip_tags($text);
$text = trim($text);

if(mb_strlen($text) > 100){
$text = mb_substr($text, 0, 100)."...";
}

echo $text;


_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
bowa
Огромнейшее спасибо! Все как и хотелось! Работает!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.