Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2010, 23:59   #11
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

что значит функции только с точками работают? нужно решать конкретную не получающуюся проблему. А всю задачу по частям. Что именно из этого алгоритма представляет сложность?
motorway вне форума Ответить с цитированием
Старый 18.02.2010, 00:19   #12
13th
Форумчанин
 
Аватар для 13th
 
Регистрация: 31.12.2008
Сообщений: 634
По умолчанию

Код:
$news=preg_replace_callback('/([\d]+),?([\d]{0,2})([\d]*)/', 'setf', $news);
function setf($num=array()){
print_r($num);
    $num[1]=(intval($num[1])>0)?$num[1]:0;
    $num[2]=(intval($num[2])>0)?$num[2]:00;
    $rt=$num[1].','.$num[2];
    return $rt;
}
Возможно всё
Пишу обо всем
13th вне форума Ответить с цитированием
Старый 18.02.2010, 00:21   #13
micron
Пользователь
 
Аватар для micron
 
Регистрация: 05.01.2010
Сообщений: 18
По умолчанию

замена старых значений на новые. Сохранив при этом текст,заменив тока числа
micron вне форума Ответить с цитированием
Старый 18.02.2010, 01:19   #14
micron
Пользователь
 
Аватар для micron
 
Регистрация: 05.01.2010
Сообщений: 18
По умолчанию

Код:
<?php

$news="курс доллара 35,8044 рубля,  евро 35,9044 рубля, разница составила 10 копеек";
preg_match_all('/([0-9]+,[0-9]+)/', $news, $out);
 $count=count($out[1]);
for ($n=0;$n<=($count-1);$n++){
 $poisk=$out[1][$n];
if(strstr($out[1][$n], ",")) {
 $output = str_replace(",", ".", $out[1][$n]);
 $reoutput=round($output,2);
 $rez = str_replace(".", ",", $reoutput);
 $vstavka=$rez;
$rezult= preg_replace("|$poisk|i",$vstavka,$news);
    echo "<pre>";
    echo $rezult;
}
}
?>
разобрался, всего лишь нужно брать последние данные значения
$rezult= preg_replace("|$poisk|i",$vstavka,$news);
реализовать можно через массив, завтра выложу вариант решения
micron вне форума Ответить с цитированием
Старый 18.02.2010, 15:10   #15
micron
Пользователь
 
Аватар для micron
 
Регистрация: 05.01.2010
Сообщений: 18
По умолчанию

Код:
<?php

    $news="курс доллара 35,8043 рубля,  евро 36,9044 рубля, разница составила 10 копеек";
    echo $news;
preg_match_all('/([\d]+,[\d]{0,2})([\d]*)/', $news, $out);
    $nez=$news;
    $count=count($out[1]);
for ($n=0;$n<=($count-1);$n++){
    $nez= str_replace($out[0][$n],$out[1][$n],$nez);
}
    echo"<pre>";
print_r($nez);

?>
собственно вот как решил все сделать), спс 13th за подсказку, и мотору
micron вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перегрев или что то другое? AbRaKaTaBrA Компьютерное железо 11 09.02.2010 14:45
скопировал фотки, удалил их с карты, вставить забыл. Потом скопировал что-то другое, Как зайти в буфер? Арчо Операционные системы общие вопросы 3 09.08.2009 17:53
С помощью чего реализовано? Php, javascript, или вообще что-то другое? nikolai_P PHP 7 23.06.2009 15:23
запрос в MYSQL WHERE по информации или что то другое? memka PHP 4 13.04.2009 23:16
preg_replace Def@ult PHP 2 12.11.2007 01:58