Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как слова из строки запихнуть в массив 2
 
 автор: mikha   (18.08.2008 в 08:29)   письмо автору
 
 

Навеяно 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:56)   письмо автору
 
   для: 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:58)   письмо автору
 
   для: mikha   (18.08.2008 в 08:56)
 

Спасибо.

  Ответить  
 
 автор: Trianon   (18.08.2008 в 09:19)   письмо автору
 
   для: mikha   (18.08.2008 в 08:29)
 

есть функция preg_split(), которую, кстати, уже посоветовали в том треде.

  Ответить  
 
 автор: mikha   (18.08.2008 в 09:54)   письмо автору
 
   для: Trianon   (18.08.2008 в 09:19)
 

хм.. действительно..
видел же.. перемкнуло что это полный аналог explode. Или что то около того..
Ну да ладно, мне это простительно)))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования