была строка "big house" (между словами три пробела)
череp explode разобрал её но проблема в том что в масиве чать значений получается пустыми. (я как понимаю туда попадает пробел)
$text = 'big house';
$sdata = explode(" ", $text)
Собственно вопрос
1. Можноли explode сразу разобрать так чтобы небыло пустых значений
Заранее благодарен за помощ
Спустя 6 часов, 51 минута, 9 секунд (11.05.2010 - 07:53) gromitsu написал(а):
Смотри, возможно так сделать:
<?php
$text = 'big house is empty is and scary a lot';
$text = deleteBootlegSpace($text);
$sdata = explode(" ", $text);
echo"<pre>";
print_r($sdata);
echo"</pre>";
function deleteBootlegSpace($text){
$spaces = array("' '","' '","' '","' '","' '");
$replace = array(""," "," "," "," ");
return preg_replace($spaces,$replace,$text);
}
?>
Спустя 1 час, 44 минуты, 54 секунды (11.05.2010 - 09:38) Michael написал(а):
Ну и свою версию добавлю(тоже заранее убираем лишние пробелы):
$str = 'ww rr 99 kk 9999 jjjj ---- 7777';
$str = without_space($str);
echo '<pre>';
echo $str;
echo '</pre>';
function without_space($str) {
$quit = false;
$len1 = strlen($str);
while (!$quit) {
$len = $len1;
$str = str_replace(' ', ' ', $str);
$len1 = strlen($str);
if ($len == $len1) $quit = true;
}
return $str;
}
Спустя 1 час, 21 минута, 40 секунд (11.05.2010 - 11:00) ohxxx написал(а):
Спасибо за помошь пошол кодить

Спустя 17 минут, 59 секунд (11.05.2010 - 11:18) DedMorozzz написал(а):
А разве так не проще?
$str = 'ww rr 99 kk 9999 jjjj ---- 7777';
$str = preg_replace("#\ +#"," ",$str);
echo '<pre>';
echo $str;
echo '</pre>';
Спустя 1 час, 43 минуты, 6 секунд (11.05.2010 - 13:01) ohxxx написал(а):
$str = preg_replace("#\ +#"," ",$str);
кто может распиши само условие #\ +#
Хочется знать как тут символы влияют... а то я его нормально прочесть не могу .. не пойму зачем решотки '#' нужны (да да я в регулярных вообще нуб)
Спустя 4 минуты, 21 секунда (11.05.2010 - 13:05) DedMorozzz написал(а):
# - некий разделитель, на ровне с / |, но лишь с той разницей, что он являеться "нейтральным". Редко в коде встречаеться "шарп"(решётка), лишь в индексе цвета, лишь там его приходишться экранировать, т.е. найменее проблемный.
А "\ +" - обозначает любое количество пробелов от 1 до "скольки угодно", но обязательно подряд идущих. Итого выходит - находит все пробелы, буть там 1,2,3...n и заменяет на 1 пробел.
А "\ +" - обозначает любое количество пробелов от 1 до "скольки угодно", но обязательно подряд идущих. Итого выходит - находит все пробелы, буть там 1,2,3...n и заменяет на 1 пробел.
Спустя 3 минуты, 21 секунда (11.05.2010 - 13:08) ohxxx написал(а):
Большое спасибо за пояснение

Спустя 12 минут, 32 секунды (11.05.2010 - 13:21) DedMorozzz написал(а):
Так эт то что надо было? Иль нечто другое хотел?
Спустя 14 минут, 50 секунд (11.05.2010 - 13:36) ohxxx написал(а):
Цитата (DedMorozzz @ 11.05.2010 - 10:21) |
Так эт то что надо было? Иль нечто другое хотел? |
Спасибо всё отлично именно то самое что доктор прописал

Спустя 5 часов, 56 минут, 43 секунды (11.05.2010 - 19:32) MatrixGod написал(а):
$str = preg_replace("/ +/", " ", $str);
меняет любое кол-во пробелов подряд на 1 пробел.
потом прогоняй в explode();
Спустя 1 час, 34 минуты, 15 секунд (11.05.2010 - 21:07) DedMorozzz написал(а):
MatrixGod
и что ты этим хотел сказать? Выше написано "то-же самое" + твой вариант не сработает (;
и что ты этим хотел сказать? Выше написано "то-же самое" + твой вариант не сработает (;
Спустя 4 часа, 51 минута, 39 секунд (12.05.2010 - 01:58) MatrixGod написал(а):
DedMorozzz
почему это не сработает? все отлично работает!
на своем сайте я превращаю неизвестное кол-во пробелов в один именно этой строчкой...
почему это не сработает? все отлично работает!
на своем сайте я превращаю неизвестное кол-во пробелов в один именно этой строчкой...
Спустя 8 часов, 27 минут, 44 секунды (12.05.2010 - 10:26) DedMorozzz написал(а):
Да, ты прав, мона и без слеша.
_____________
Подпись отключена за НЕуплату