28.03.2011, 17:48 | #1 |
Специалист
Регистрация: 22.09.2010
Адрес: Ростов-на-Дону
Сообщений: 273
Вес репутации: 189
|
PHP: Обрезка лишних переводов строк
Нужна помощь, помазгуйте кому не лень, помогите
В общем столкнулся я с головняком, мозг вскипел, никогда такой горячки не было. Есть как бы форма POST, народ пишет в неё сообщения, нужно с сообщения вырезать лишние переводы строк вместе с пробелами в 3 этапа. Этап 1. Вырезаем лишние переводы строк вместе с пробелами до основного текста ^, т.е. не просто вырезать переводы строк, но учесть что может быть три и более ситуаций: [пробелы][переводЫ строк][опять пробелы] текст [пробелы][переводЫ строк] текст [переводЫ строк][пробелы] текст Либо вобще один за одним [пробелы][переводы строк][пробелы][опять переводы][опять пробелы] и так далее до текста хрен знает сколько раз. =========== Этап 2. Тоже самое, что этап 1, только в конце $. =========== Этап 3. В оставшемся тексте ведь могут быть двойные, тройные переводы строк от которых так же нужно избавиться, т.е. все переводы строк, повторяющиеся более одного раза заменить одинарным переводом строки. --------------------------------- Как видно я столкнулся с проблемой, когда юзер хочет преукрасить текст переводами строк и может это сделать так, что его текст растянет страницу с его постом на не меренное количество строк, а между них будет маленький текст и крути потом страницу в его поисках . С preg_replace() я в принципе знаком, но что-то тут я конкретно в ступор стал, уже голова трещит. Помогите, кому не чем заняться .Вот он вам простой пример от чего нужно избавиться десяток строк выше, двойные и более чем 2 перевода строк смешанные с пробелами, а вот в начале и в конце форума, тут режет лишнее. |
28.03.2011, 18:04 | #7 |
Специалист
Регистрация: 22.09.2010
Адрес: Ростов-на-Дону
Сообщений: 273
Вес репутации: 189
|
В принципе я ступил, с этапом 3 проблем нет, там всё просто, но а вот 1 и 2 и пипец, что только не пробовал, только если код расписать на всякий случай в 300 preg_replace() - вырезать пробел, перенос, пробел, перенос, пробел, перенос, пробел, перенос, пробел, перенос, пробел, перенос - тогда работает , а если 301 раз понадобиться.
В общем этап 1 и 2 не удаётся Добавлено через 3 минуты С "/\n{2,}/","\n",$str я в принципе изначально так и поступил, это решило проблему в середине текста и все двойные переводы строк превратились в одинарные, а вот с trim($str) пожалуйста поподробнее , я до него ещё не дошёл Последний раз редактировалось Allexx; 28.03.2011 в 18:04. Причина: Добавлено сообщение |
28.03.2011, 18:07 | #8 |
Починяю примуса
Регистрация: 26.09.2008
Сообщений: 1,505
Вес репутации: 290
|
да сдались вам эти проблемы. этож хтмл, а не ворд
Добавлено через 2 минуты trim режет начальные и концевые проблеы, табуляцию и переводы Добавлено через 31 секунду http://php.su/functions/?cat=strings
__________________
Последний раз редактировалось Atomic; 28.03.2011 в 18:07. Причина: Добавлено сообщение |
28.03.2011, 19:25 | #9 |
Специалист
Регистрация: 22.09.2010
Адрес: Ростов-на-Дону
Сообщений: 273
Вес репутации: 189
|
Добавлено через 1 час 16 минут
Блин, внутри текста двойные переводы строк в одинарные перестали изменяться, что-то походу намудрил. С обрезкой по краям помогли уже. Последний раз редактировалось Allexx; 28.03.2011 в 19:26. Причина: Добавлено сообщение |
29.03.2011, 02:07 | #10 | |
Специалист
Регистрация: 17.05.2008
Сообщений: 215
Вес репутации: 207
|
Цитата:
Может пойти в сторону общего ограничения строки? А то как-то неуниверсально всё и некрасиво..
__________________
Promotion in Google - Submit Article or Post to SEO blog for Free. |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обрезка постов в wordpress | 4ip | Общие вопросы оптимизации | 9 | 24.08.2010 15:59 |
О свободных местах и лишних заявках | viewer-ik | Вопросы от новичков | 6 | 10.07.2009 11:01 |
Чистка лишних страниц - стабильный 504 | justworker | Ошибки при работе с системой | 2 | 30.06.2009 17:56 |
обрезка страниц | stag1969 | Вопросы от новичков | 5 | 28.05.2009 21:40 |
Списки денежных переводов | web-solutions | Пожелания пользователей системы | 0 | 22.01.2008 18:28 |
Часовой пояс GMT +3, время: 12:00.