За последние 24 часа нас посетили 22677 программистов и 1281 робот. Сейчас ищет 741 программист ...

Помогите с заменой текста

Тема в разделе "PHP для новичков", создана пользователем Tures, 9 июл 2013.

  1. Tures

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

    С нами с:
    3 фев 2013
    Сообщения:
    40
    Симпатии:
    0
    Есть код, который заменяет лишние пробелы, на теги <p></p>
    Код (Text):
    1.  
    2. <?php
    3. $str = 'foo   o';
    4. $str = preg_replace('/\s\s+/', '<p></p>', $str);
    5. echo $str;
    6. ?>
    И выдает он - "foo<p></p>o".

    Как сделать так, чтобы только текст заключался в теги и было - "<p>foo</p><p>o</p>"
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. $str = 'foo   o';
    2. $str = preg_replace(array('/\w+/','/\s{1,}+/'),array('<p>$0</p>',''), $str);
    3. echo $str; 
     
  3. Tures

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

    С нами с:
    3 фев 2013
    Сообщения:
    40
    Симпатии:
    0
    Спасибо большое!
     
  4. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
  5. Tures

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

    С нами с:
    3 фев 2013
    Сообщения:
    40
    Симпатии:
    0
    А какой фильтр должен быть, где перевод строк?
    Допустим, чтобы было: "Foo
    text"
    Стало : "<p>Foo</p>text</p>"
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    такой же ))) ты задаешь вопрос даже не попробовав?! o_O

    \s это не пробел, а любой "пробельный символ", в т.ч. перевод строки. пруф
     
  7. Tures

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

    С нами с:
    3 фев 2013
    Сообщения:
    40
    Симпатии:
    0
    Так у меня заменяет все пробелы, даже если написано "Foo text", то заменит на "<p>Foo</p><p>text</p>", просто хочу, чтобы скрипт искал только переводы строк, а все, что не переводы, заключал в теги.
     
  8. uorypm

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

    С нами с:
    3 мар 2012
    Сообщения:
    98
    Симпатии:
    0
    Это фича или ты фигню написал? Аналогично /\s++/. Выглядит как фича :D
     
  9. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.076
    Симпатии:
    1.237
    Адрес:
    там-сям
    Tures, а пора ли включать свою голову?

    Код (PHP):
    1. echo '<p>'.str_replace("\n", '</p><p>', $str).'</p>';
     
  10. Tures

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

    С нами с:
    3 фев 2013
    Сообщения:
    40
    Симпатии:
    0
    Согласен, пора бы. Но на ошибках учатся.