Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 4

Как обрезать текст и убрать из него лишние пробелы и тэги?

14.08.2013, 16:29. Показов 2948. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени.

Нашел такое (частичное решение) решение:
PHP
1
2
3
4
5
6
7
<?php 
   $a = $item["description"];
         $b = mb_substr($a, 0, 100);
    if ($a != $b) {
         $b .= '...';
}
echo strip_tags($b);?>
текст обрезает, убирает все тэги, но как сделать что бы еще и лишние пробелы убрал?

Нашел такой вариант:
PHP
1
2
3
4
5
function full_trim($str)                            
{                                                   
    return trim(preg_replace('/\s{2,}/', ' ', $str));
                                                      
}
И еще такой:
PHP
1
$text = preg_replace("/(\r\n)+/i", "\r\n", $text);

Проблема в том что не представляю как их объединить?!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.08.2013, 16:29
Ответы с готовыми решениями:

Отредактировать заданное предложение, удаляя из него лишние пробелы
СОСТАВИТЬ ПРОГРАММУ ДЛЯ РЕДАКТИРОВАНИЯ ЗАДАННОГО ПРЕДЛОЖЕНИЯ. УДАЛЯЯ ИЗ НЕГО ПРОБЕЛЫ НА PHP ИСПОЛЬЗОВАТЬ МЕТОД POST ВОТ МОЯ ПРОГРАММА...

Отредактировать текст, удаляя из него лишние пробелы. Заключить весь текст в кавычки
Всем здравствуйте. Выручайте делаю лабораторные и вот такая задача: Отредактировать текст, удаляя из него лишние пробелы. заключить весь...

Напечатать заданный текст, удалив из него лишние пробелы
Только начали проходить, ещё ниче не понимаю... 1. Дана последовательность слов. Напечатать те слова последовательности, которые...

5
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
14.08.2013, 16:35
если напишите
Цитата Сообщение от hangun Посмотреть сообщение
PHP
1
trim(preg_replace('/\s{2,}/', ' ', $str))
то
Цитата Сообщение от hangun Посмотреть сообщение
PHP
1
preg_replace("/(\r\n)+/i", "\r\n", $text);
уже не нужен, уже все будет вырезано (первая регулярка обрабатывает язык, являющийся надмножеством второй регулярки).
Примените оператор последовательно, вставьте в код и замените на свои переменные.
0
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 4
14.08.2013, 16:39  [ТС]
Цитата Сообщение от NEbO Посмотреть сообщение
уже не нужен, уже все будет вырезано (первая регулярка обрабатывает язык, являющийся надмножеством второй регулярки).
Примените оператор последовательно, вставьте в код и замените на свои переменные.
Большое Вам спасибо, но я просто не представляю что все это значит? (((
если не затруднит, подскажите что заменить в этом коде:
PHP
1
2
3
4
5
6
7
<?php 
   $a = $item["description"];
         $b = mb_substr($a, 0, 100);
    if ($a != $b) {
         $b .= '...';
}
echo strip_tags($b);?>
так как этот код уже делает часть нужного, обрезает текст и убирает тэги, но вот пробелы.... ни.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
14.08.2013, 16:54
PHP
1
2
3
4
5
6
7
<?php 
   $a = $item["description"];
         $b = mb_substr($a, 0, 100);
    if ($a != $b) {
         $b .= '...';
}
echo trim( preg_replace( '/\s{2,}/', ' ', strip_tags($b) ) );
0
0 / 0 / 0
Регистрация: 14.08.2013
Сообщений: 4
14.08.2013, 17:11  [ТС]
Большое Вам спасибо! Но чего-то у меня не получается ((((...

Некоторые тексты выводятся нормально, как и запланировано, 100 символов, без тэгов и лишних пробелов. А некоторые по 20 символов.
Как и почему такое происходит не представляю ((((

знаю только то что эти тексты, которые плохо выводятся, скопированы из MS Word.
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
14.08.2013, 17:50
ну прег_реплейс-то повыше можно поставить, еще до сравнения по длине

Добавлено через 4 минуты
PHP
1
2
3
4
5
<?php 
   $text = trim(preg_replace( '/\s{2,}/', ' ', strip_tags($item["description"])));
* *$out = mb_substr($text, 0, 100);
   if ($out !== $text) $out .= ' ...';
   echo $out;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.08.2013, 17:50
Помогаю со студенческими работами здесь

Напечатать заданный текст, удалив из него лишние пробелы
Ребят,я начинающая программистка) помогите решить задачу на С Напечатать заданный текст, удалив из него лишние пробелы, т.е. из...

Напечатать заданный текст, удалив из него лишние пробелы, т.е. из нескольких подряд идущих пробелов оставить только один
Дан текстовый файл, содержащий строки. Напечатать заданный текст, удалив из него лишние пробелы, т.е. из нескольких подряд идущих пробелов...

Вывести введенный текст, удалив из него "лишние" пробелы
Вывести введенный текст, удалив из него &quot;лишние&quot; пробелы, то есть из нескольких подряд идущих пробелов оставить один.

Как убрать из базы &nbsp; и лишние пробелы
Всем привет. Столкнулся с проблемой &quot;лишних&quot; данных в таблице БД. Привязываю SQLdataSource к своему GridView, вытягиваю в текстБокс...

Убрать лишние пробелы
Дело в том, что в строке мне нужно убрать все пробелы до первого символа кроме пробела, после последнего символа и все пробелы которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru