За последние 24 часа нас посетили 18748 программистов и 1708 роботов. Сейчас ищет 821 программист ...

Разделить строку текста на слова

Тема в разделе "PHP для новичков", создана пользователем securer, 27 май 2009.

  1. securer

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

    С нами с:
    27 май 2009
    Сообщения:
    5
    Симпатии:
    0
    Привет всем. Задали мне интересную задачку - реализовать такую php-форму, которая будет содержать строку для ввода текста и ниже окно просмотра слов в этой строке при нажатии кнопки "готово".

    При этом нужно чтобы за слова считались и числа (то есть разграничитель должен быть пробел как я полагаю).
    Подскажите как реализовать подобное.
     
  2. vital

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

    С нами с:
    18 дек 2006
    Сообщения:
    162
    Симпатии:
    0
    Адрес:
    Минск
    PHP:
    1.  
    2. <?
    3. $array = split(" ", $text);
    4. $num = count($array);
    5. echo $num;
    6. echo "<br>";
    7. for($i=0, $i<$num, $i++) {
    8. echo $array[$i];
    9. echo "<br>";
    10. }
    11. ?>
    12.  
    примерно так
    $text = ваш текст
     
  3. securer

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

    С нами с:
    27 май 2009
    Сообщения:
    5
    Симпатии:
    0
    syntax error, unexpected ')', expecting ';'
    вот такая ошибка теперь вылазит
     
  4. Jensi

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

    С нами с:
    9 апр 2009
    Сообщения:
    299
    Симпатии:
    0
    Код (Text):
    1. ($i=0; $i<$num; $i++)
    Должно помочь:)
     
  5. securer

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

    С нами с:
    27 май 2009
    Сообщения:
    5
    Симпатии:
    0
    Помогло - но видать скрипт косячит.

    Помогите лучше сделать форму для вот этого скрипта - чтоб былополе для ввода фразы а ниже вывод слов фразы построчно.

    Код (Text):
    1.  
    2.  <?php
    3.  $string = 'Я какая то длинная фраза, со знаками препинания. Меня нужно разбить на слова!';
    4.  $pattern = '~(\w+)~';
    5.  preg_match_all($pattern, $string, $matches);
    6.  
    7.  print_r($matches[1]);
    8.  ?>
     
  6. Jensi

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

    С нами с:
    9 апр 2009
    Сообщения:
    299
    Симпатии:
    0
    т.е. так:
    Код (Text):
    1.  
    2. Я
    3. какая то
    4. длинная
    5. фраза
    6. ...
    ?
    explode или регулярки:)
     
  7. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    securer
    PHP:
    1.  
    2. <?php
    3. if (count ($_POST) > 0){
    4.     $string = isset ($_POST['string']) ? $_POST ['string'] : null;
    5.     if (!empty ($string)){
    6.         $Arr = explode (" ", $string);
    7.         foreach ($Arr as $word){
    8.             echo 'Слово: ' . $word . '<br />';
    9.         }
    10.      }
    11.  
    12. }
    13.  
    14.  
    15. echo '<form name="inputMe" method="post" action="">
    16. <input type="text" name="string" value="" />
    17. <input type="submit" name="ok" value="Разбить" />
    18. </form>';
    19.