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

Форум Регулярные Выражения

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

 

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

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

тема: Извлечь температуру воздуха из текста
 
 автор: SmivaL   (03.12.2006 в 23:15)   письмо автору
 
 

Надо из строки (к примеру "...температура +1..+3 ирарапр...") выбить значение в виде +1..+3 (это температура воздуха) соответственно вместо плюсов могут быть минусы а может вообще ничего не быть. Цифры могут быть 2х значными. И оно может встречаться не раз. То есть нужно вернуть массив, который будет содержать, к примеру [0]=>+1..+3 [1]=>0..-2 [2] -5..-10.
Пишу ::

ereg('([+-])?([0-9]){1,2}\.\.([+-])?([0-9]){1,2}', $file, $arr); 

Само выражение вроде правильно, только ф-ия неправильно организована. Помогите А.

   
 
 автор: kasmanaft   (04.12.2006 в 05:09)   письмо автору
 
   для: SmivaL   (03.12.2006 в 23:15)
 

Ereg сама по себе находит только первое вхождение ... а для того, чтобы найти все, нужно использовать preg_match_all:

<?
$file 
"...температура +1..+3 ирарапр... ...температура +2..+4 ирарапр... 
...температура -10..+32 ирарапр..."
;
preg_match_all('#([+-]?[0-9]{1,2}\.\.[+-]?[0-9]{1,2})#s'$file$arr);
unset(
$arr[0]);
print_r($arr);                          
?>

   
 
 автор: Smival   (04.12.2006 в 06:44)   письмо автору
 
   для: kasmanaft   (04.12.2006 в 05:09)
 

ага.
вот это мне и надо было.
Спасибо Добрый Человек!

   
Rambler's Top100
вверх

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