За последние 24 часа нас посетили 30728 программистов и 1809 роботов. Сейчас ищет 861 программист ...

обрезание до пробела

Тема в разделе "PHP для новичков", создана пользователем siiXth, 30 окт 2010.

  1. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    substr($text,0,300)
    режет картинки , дивы и пр ересь
    была недавно тема с подобным вопросом , немогу найти :<
    думаю выход - резать до пробела , хелпа как
    предполагаю вариант после 300 символов резать в новую переменную циклом до пробела...но поадекватней что-нибудь есть ? ;)
     
  2. Ensiferum

    Ensiferum Активный пользователь

    С нами с:
    11 июл 2010
    Сообщения:
    1.292
    Симпатии:
    0
    Адрес:
    из секты поклонников Нео
    ну... сначала $a = explode(' ',$text);
    затем array_pop($a);
    затем implode(' ',$a);

    Но думаю лучше циклом до пробела
     
  3. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    а не
    пробел тогда режет <img src например =(
    PHP:
    1. $a = explode(' ',$text);
    2. array_pop($a);
    3. implode(' ',$a);
    ххмм , чтото я пример не совсем осилил :D
    разбиваем текст на массив по пробелу , удаляем последнее слово из текста , добавляем пробелы обратно в массив и что это даст ? )
    да и оно разобьёт тот же <img src на 2 массива , а проверять например в in_array все хтмл теги как-то неочень :D
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    siiXth
    резать можно двумя способами =) до пробела и после :D

    ты эта... ты если хочешь чтобы строка вышла не больше трехсот, то ты просто найди ближайший пробел и реж по этой позиции. (только проверь тристапервый символ. вдруг он и есть пробел! =))
     
  5. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    wordwrap
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Вот и закончилась история пропавшего кольца! (С) Бендер
     
  7. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    хрень
    всё будет резать <img src
    = (
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    siiXth
    так тебе по пробелу блин или теги важны? =) ты как я не знаю прям. сформулируй уже
     
  9. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
    я выше написал что по пробелу выйдет бред т.к хтмл код разрежется который берётся из $text и порежет пополам картинки , дивы , таблицы и т.д
     
  10. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    siiXth
    как идея

    1. пропарсить регуляркой выражение и заменить все пробелы внутри тегов на букву Ё (или любой другой редковстречающийся символ)
    2. порезать строку используя пробелы
    3. вернуть обратно пробелы внутри тегов

    ах, да, тебе нужно считать только видимый текст?
    если да, то текст внутри тегов (как и сами теги) нельзя считать за символы.