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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2011, 06:53   #1
brulik67
Пользователь
 
Регистрация: 12.06.2011
Сообщений: 12
По умолчанию регулярные выражения

доброго ввремени суток!
что то не могу разобраться с функцией, выдает не то что нужно
PHP код:
function myDescript($descript){
        
$pattern "/\s([0-9]*\,[0-9]{3,})/";
        
$replacement "/\s[0-9]*\,[0-9]{2}/";
        
$res preg_replace($pattern$replacement$descript);
        return 
$res;
    } 
функция должна находить цифры определенного типа в строке, а возвращать уже по шаблону но возвращает она такой текст

...доллара ЦБ с 1 октября установлен на уровне/\s[0-9]*\,[0-9]{2,}/ рубля, евро -/\s[0-9]*\,[0-9]{2,}/ рубля, свидетельствуют данные...
brulik67 вне форума Ответить с цитированием
Старый 22.06.2011, 13:22   #2
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Низзя так делать в реплэйсменте.
PHP код:
function myDescript($descript){ 
        
$pattern "/\s([0-9]*\,[0-9]{3,})/"
        
$replacement "/\s[0-9]*\,[0-9]{2}/"
        
$res preg_replace($pattern$replacement$descript); 
        return 
$res
        } 
Можно делать как-то так:
PHP код:
function myDescript($descript){ 
        
$pattern "/\s([0-9]*\,[0-9]{3,})/"
        
$replacement "\\1"
        
$res preg_replace($pattern$replacement$descript); 
        return 
$res
        } 
Как делать НУЖНО вам, ответить не могу я, не написали вы, что именно вам сделать надо потому что.
graymaster вне форума Ответить с цитированием
Старый 22.06.2011, 14:06   #3
brulik67
Пользователь
 
Регистрация: 12.06.2011
Сообщений: 12
По умолчанию

нужно чтобы то число которое вытащил, вставил без последних двух знаков
brulik67 вне форума Ответить с цитированием
Старый 22.06.2011, 15:08   #4
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Тогда как-то так:
PHP код:
$a="hello, 4,354  !";

echo 
myDescript($a);

function 
myDescript($descript) {
// Паттерн - пробел/запомнить1 несколько-цифр-запятая-несколько-цифр/запомнить2 две-цифры пробел/запомнить3
    
$pattern "/(\s)([0-9]*,[0-9]*)[0-9]{2,2}(\s)/";
// Рэплэйсмент - запомненное-1(которое пробел) запомненное-2(которое цифры с запятой запомненное-3(которое тоже пробел
    
$replacement "\\1\\2\\3";
    
$res preg_replace($pattern$replacement$descript);
    return 
$res;

Цитата:
hello, 4,3 !
graymaster вне форума Ответить с цитированием
Старый 24.06.2011, 06:14   #5
brulik67
Пользователь
 
Регистрация: 12.06.2011
Сообщений: 12
Радость

а вот оно как делается! благодарю !
brulik67 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регулярные выражения Farrel PHP 3 06.02.2011 18:43
Регулярные выражения DoGFoX Общие вопросы Delphi 1 03.02.2011 10:49
Регулярные выражения Syltan JavaScript, Ajax 3 24.04.2010 23:08
Регулярные выражения ACE Valery PHP 5 14.10.2009 11:37
регулярные выражения wyvern PHP 3 09.04.2009 22:15