|
|
|
| Допустим есть строка: "Во поле берёза стояла"
Как с помощью PHP разделить всю строку на отдельные слова и занести их в массив? | |
|
|
|
|
|
|
|
для: sega_z
(27.08.2011 в 13:52)
| | str_word_count() | |
|
|
|
|
|
|
|
для: nikita2206
(27.08.2011 в 14:00)
| | а что не explode() ?
[поправлено модератором] | |
|
|
|
|
|
|
|
для: f111
(27.08.2011 в 14:42)
| | зачем использовать не по назначению функции? к тому же експлоуд не разберется со знаками препинания, переносами, и еще кучей служебных символов
[поправлено модератором] | |
|
|
|
|
|
|
|
для: nikita2206
(27.08.2011 в 14:49)
| | про знаки препинания автор ничего не говорил
[поправлено модератором] | |
|
|
|
|
|
|
|
для: f111
(27.08.2011 в 14:51)
| | ну ок, мне в принципе все равно
только автор то все равно скажет, что ему надо и знаки препинания резать | |
|
|
|
|
|
|
|
для: nikita2206
(27.08.2011 в 14:54)
| | автор рассудите нас)))
а то в загашнике остались как мин preg_split() и split()
p.s. nikita2206 пардон, не взглянул кому пишу) надеюсь sega_z не пропустит | |
|
|
|
|
|
|
|
для: nikita2206
(27.08.2011 в 14:54)
| |
<?php
$str = "Hello friend, you're
looking good today!";
$a = str_word_count($str, 1);
print_r($a);
?>
|
Выводит: Array ( [0] => Hello [1] => friend [2] => you're [3] => looking [4] => good [5] => today )
А как вывести просто каждое слово отдельно, без всяких лишних символов? | |
|
|
|
|
|
|
|
для: sega_z
(27.08.2011 в 15:04)
| | Что под "лишним" символом имеется в виду? В английском ' является частью слова, такого слова как re нет. Слово "во-первых" содержит лишние символы? | |
|
|
|
|
|
|
|
для: cheops
(27.08.2011 в 15:07)
| | оффтоп: cheops если вы знакомы с модератором передайте пожалуйста
1) ссылки те не для рекламы, а для онлайн проверки кода, не отходя от кассы
2)
>а что не explode() ?
>
>[поправлено модератором]
"а чё не ...?" => "а (чего|почему) не ...?" но никак не "а что..."
p.s. как передадите удаляйте. заранее спасибо) | |
|
|
|
|
|
|
|
для: sega_z
(27.08.2011 в 13:52)
| | не знаю я всегда пользуюсь explode() и доволен на все 100%
иногда даже вот так делаю(для автора)
$url= "www.softtime.ru/forum/pstadd.php";
list($home,$path,$file) = explode("/",$url);
и потом можно каждую переменную отдельно использовать! | |
|
|
|
|
|
|
|
для: valera_21
(27.08.2011 в 15:39)
| | explode() штука хорошая, но не всегда, например, выше sega_z приводит пример, когда в строке подряд идет несколько пробелов и переводы строк. В этом случае будет более удобно специализированная функция или регулярные выражения. | |
|
|
|
|
|
|
|
для: cheops
(27.08.2011 в 16:09)
| | А если в строке сначало удалить все пробелы, то это будет функцией считаться как одно слово? | |
|
|
|
|
|
|
|
для: sega_z
(27.08.2011 в 18:36)
| | Конечно, как иначе можно будет разделить слова? Обычно не удаляют пробелы, заменяют несколько подряд идущих одним пробельным символом. | |
|
|
|
|
|
|
|
для: cheops
(27.08.2011 в 19:19)
| | но для этого тоже регулярка нужна
это я для автора | |
|
|
|
|
|
|
|
для: cheops
(27.08.2011 в 19:19)
| | Вообщем я думаю так будет лучше, т.к. слова уже заносятся в массив, что мне и нужно:
<?php
$str = "Привет, как дела!";
$a = str_word_count($str, 1);
echo "$a[0], $a[1], $a[2], $a[3], $a[4]";
?>
|
Только я забыл, как в цикле вывести все значения массива?
Ведь так не совсем правильно: echo "$a[0], $a[1], $a[2], $a[3], $a[4]"; | |
|
|
|
|
|
|
|
для: sega_z
(27.08.2011 в 19:56)
| | :\
foreach ($a as $str) echo $str; | |
|
|
|
|
|
|
|
для: nikita2206
(27.08.2011 в 22:42)
| | Всем участникам большое спасибо за помощь!!! | |
|
|
|