Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11685
Последний выпуск: 19.06.2015

Регулярное выражение на PHP

888
18 июля 2015 года
Sash1k
115 / / 27.04.2007
Получаю методом GET переменную. Хочу вырезать из нее все кроме цифр от 0 до 9 и знака точки .
То есть надо, что бы осталось число с плавающей точкой, все лишнее долой.
8
21 июля 2015 года
mfender
3.5K / / 15.06.2005
 
Код:
$my_text = "abc11.22ABC";
$zamena = "";
echo(preg_replace('/[A-Za-z]/', $zamena, $my_text));
А ещё проще так:
 
Код:
$my_text = "abc11.22ABC";
$zamena = "";
echo(preg_replace('/[^0-9\.]/', $zamena, $my_text));
888
18 июля 2015 года
Sash1k
115 / / 27.04.2007
вроде сделал выражение, получилось
 
Код:
preg_match ("[d]{4}.[d]{2}", $my_text)
но выдает предупреждение:
 
Код:
Warning: preg_match(): Unknown modifier '{'
8
19 июля 2015 года
mfender
3.5K / / 15.06.2005
Что за кабалистические символы?
Вот так: /[0-9\.]/ не проще?

Да, и заменяются символы при помощи preg_replace();
888
20 июля 2015 года
Sash1k
115 / / 27.04.2007
Попробовал сделать:
 
Код:
$my_text = "abc11.22ABC";
$zamena = "";
echo(preg_replace('/[a-z]/', $zamena, $my_text));
Получаем
Цитата:
11.22ABC

Как добавить выражение, что бы и большие буквы

Цитата:
ABC

вырезались тоже?

4
21 июля 2015 года
mike
3.7K / / 01.10.2002
Или так:
 
Код:
$my_text = "abc11.22ABC";
$zamena = "";
echo(preg_replace('/[a-zA-Z]/', $zamena, $my_text));
или так:
 
Код:
$my_text = "abc11.22ABC";
$zamena = "";
echo(preg_replace('/[a-z]/i', $zamena, $my_text));
271
14 августа 2015 года
dead_star
392 / / 26.11.2006
что-то вы господа херню какую-то советуете
регулярка /[a-z]/i пропустит символы а-яА-Я#!% и тд

вот нормальный способ получить float из строки с кучей мусора
 
Код:
$my_text = 'abc11.22ABC';
// вариант 1
var_dump((float)preg_replace('/^(.*?)(\d+[\.,]\d+)(.*?)$/', '$2', $my_text));

// вариант 2
if (preg_match('/\d+[\.,]\d+/', $my_text, $match)) {
    var_dump((float)$match[0]);
} else {
    // не число
}

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог