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

Форум PHP

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

 

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

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

тема: Удалить пробел
 
 автор: milkaa   (13.11.2012 в 20:27)   письмо автору
 
 

Здравствуйте! Прошу прощения, что беспокою по мелочному вопросу, но надеюсь на вашу помощь.

У меня есть число, например: 1 300 и я не могу удалить из него пробел. Пробовал через str_replace() и регулярным выражением, ничего не вышло. Ниже приведу часть кода, где я пробую это сделать:


$content = file_get_contents("http://api-maps.yandex.ru/services/route/1.0/route.xml?callback=id_135263855230888431510&lang=ru_RU&rll=".$city1_1."%2C".$city1_2."~".$city2_1."%2C".$city2_2);
    $a1 = explode("\"", $content);
    if($a1[37]=="Time")
    {
        $km = explode("км",$a1[33]);
        $main_km = $km[0];
    }
    if($a1[33]=="Time")
    {
        $km = explode("км",$a1[37]);
        $main_km = $km[0];
    }
}
echo str_replace (" ","","$main_km");

  Ответить  
 
 автор: xxxLEOxxx   (14.11.2012 в 00:07)   письмо автору
 
   для: milkaa   (13.11.2012 в 20:27)
 


$main_km = '1 300';
echo mb_str_replace (" ","","$main_km"); 


Данный код прекрасно работает и выводит 1300 без пробелов.

Возможно у вас проблемы с используемой кодировкой. попробуйте функцию для мультибайтовой кодировки


function mb_str_replace($needle, $replacement, $haystack)
{
    $needle_len = mb_strlen($needle);
    $replacement_len = mb_strlen($replacement);
    $pos = mb_strpos($haystack, $needle);
    while ($pos !== false)
    {
        $haystack = mb_substr($haystack, 0, $pos) . $replacement
                . mb_substr($haystack, $pos + $needle_len);
        $pos = mb_strpos($haystack, $needle, $pos + $replacement_len);
    }
    return $haystack;
}
echo mb_str_replace(" ","","$main_km"); 

  Ответить  
 
 автор: milkaa   (14.11.2012 в 01:35)   письмо автору
 
   для: xxxLEOxxx   (14.11.2012 в 00:07)
 

Спасибо за совет. В строке был неразрывный пробел. Я его убрал, а после, надо было строку в другую кодировку перевести и убрать символ.

Еще раз спасибо за совет и отклик на вопрос!

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

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