|
|
|
| Навеяно http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=56865&page=1
<?php
$str = " word1 word2 word3 word4 ... wordN";
$arr = explode(" ", $str);
# удаляем пустые
foreach($arr as $key => $value) {
if(empty($arr[$key])) unset($arr[$key]);
}
# Подсчитать количество всех значений массива
$arr = array_count_values($arr);
# Возвращает массив с элементами в обратном порядке
foreach($arr as $key => $value) {
$arr_out[] = $key;
}
echo "<pre>";
print_r($arr_out);
echo "</pre>";
?>
|
Результат должен быть
Array
(
[0] => word1
[1] => word2
[2] => word3
[3] => word4
[4] => ...
[5] => wordN
)
|
Наверняка это можно сделать короче.
Только вот как?
На ум приходят только trim (удалить пробелы с начала и с конца строки), потом удалить пробелы если больше одного, ну а потом уже explode.
Может кто нибуть это в коде воплотит? Так что бы красиво?
Вынес в отдельную тему так как то что написал ни в коем случае не могу советовать. | |
|
|
|
|
|
|
|
для: mikha
(18.08.2008 в 08:29)
| |
<?php
$str = " word1 word2 word3 word4 ... wordN ";
$str = trim($str);
$str = preg_replace("/[ ]{2,}/", " ", $str);
$arr = explode(" ", $str);
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
|
вот.. | |
|
|
|
|
|
|
|
для: mikha
(18.08.2008 в 08:56)
| | Спасибо. | |
|
|
|
|
|
|
|
для: mikha
(18.08.2008 в 08:29)
| | есть функция preg_split(), которую, кстати, уже посоветовали в том треде. | |
|
|
|
|
|
|
|
для: Trianon
(18.08.2008 в 09:19)
| | хм.. действительно..
видел же.. перемкнуло что это полный аналог explode. Или что то около того..
Ну да ладно, мне это простительно))) | |
|
|
|