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

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

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

 

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

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

тема: preg_match_all
 
 автор: vadimka   (17.12.2010 в 16:05)   письмо автору
 
 

Здравствуйте!
Не могу составить регулярку:
 $pattern="#([\\$A-Z]){5}(.?)#sU";
preg_match_all($pattern,$str,$out);
echo "<pre>";
print_r($out);

текст такой:
$HCHDT,246.4,T*2D
$PFEC,GPatt,,,*66
$PAMTS,MET,991,24.5,60.3,,,,0.1,0.2,+89.7,+88.9*10
$WIMDA,29.2642,I,0.9910,B,24.5,C,,,60.3,,16.2,C,,,,,,,,*78
$WIMWD,,,,,,,,*40
$WIMWV,0.1,R,0.3,N,A*21
$WIMWV,,T,,,V*7C
$TIROT,,V*02
$WIVWR,0.1,R,0.3,N,0.2,M,0.6,K*51
$WIVWT,,,,,,,,*4B
$WIXDR,C,,C,WCHR,C,,C,WCHT*56
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9910,B,STNP*4A
$YXXDR*4F

  Ответить  
 
 автор: Trianon   (17.12.2010 в 18:54)   письмо автору
 
   для: vadimka   (17.12.2010 в 16:05)
 

результат чем не устраивает?

  Ответить  
 
 автор: vadimka   (20.12.2010 в 17:15)   письмо автору
 
   для: Trianon   (17.12.2010 в 18:54)
 

я неправильно написал:
мне нужно этот блок текста, массив как то отловить:
$GPDTM,W84,,0000.0000,N,00000.0000,E,0.0,W84*5F
$GPGGA,,,,,,0,,,,,,,,*66
$GPGLL,,,,,,V,N*64
$GPGSA,M,1,,,,,,,,,,,,,,,*12
$GPGSV,1,1,0*49
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPZDA,,,,*48
$HCHDG,261.6,0.0,E,14.9,W*6F
$HCHDT,246.7,T*2E
$PAMTS,MET,987,14.3,91.6,,,,122.9,0.3,+85.1,+87.9*14
$PAMTS,MET,987,14.3,92.1,,,,121.9,0.3,+85.1,+87.9*13
$PAMTS,MET,987,14.3,92.4,,,,90.3,0.2,+85.1,+87.9*26
$PAMTS,MET,987,14.4,91.5,,,,119.9,0.3,+85.1,+87.9*18
$PAMTS,MET,987,14.4,91.9,,,,90.3,0.3,+85.1,+87.9*2E
$PAMTS,MET,987,14.4,92.1,,,,115.1,0.4,+85.1,+87.9*1C
$PAMTS,MET,987,14.4,92.4,,,,116.6,0.2,+85.1,+87.9*1B
$PAMTS,MET,987,14.4,92.6,,,,90.3,0.1,+85.1,+87.9*20
$PAMTS,MET,987,14.5,91.0,,,,136.8,0.3,+85.1,+87.9*10
$PFEC,GPatt,,,*66
$TIROT,,V*02
$WIMDA,29.1491,I,0.9871,B,14.3,C,,,91.6,,12.9,C,,,,,,,,*70
$WIMDA,29.1491,I,0.9871,B,14.4,C,,,91.9,,13.0,C,,,,,,,,*70
$WIMDA,29.1520,I,0.9872,B,14.3,C,,,92.1,,13.0,C,,,,,,,,*74
$WIMDA,29.1520,I,0.9872,B,14.3,C,,,92.4,,13.0,C,,,,,,,,*71
$WIMDA,29.1520,I,0.9872,B,14.4,C,,,92.1,,13.1,C,,,,,,,,*72
$WIMDA,29.1520,I,0.9872,B,14.4,C,,,92.4,,13.1,C,,,,,,,,*77
$WIMDA,29.1520,I,0.9872,B,14.4,C,,,92.6,,13.2,C,,,,,,,,*76
$WIMDA,29.1520,I,0.9872,B,14.5,C,,,91.0,,13.0,C,,,,,,,,*70
$WIMDA,29.1550,I,0.9873,B,14.4,C,,,91.5,,13.0,C,,,,,,,,*72
$WIMWD,,,,,,,,*40
$WIMWV,,T,,,V*7C
$WIMWV,112.5,R,0.6,N,A*22
$WIMWV,116.0,R,0.7,N,A*22
$WIMWV,124.5,R,0.5,N,A*24
$WIMWV,125.3,R,0.6,N,A*20
$WIMWV,135.8,R,0.5,N,A*29
$WIMWV,90.3,R,0.2,N,A*1B
$WIMWV,90.3,R,0.3,N,A*1A
$WIMWV,90.3,R,0.4,N,A*1D
$WIMWV,90.3,R,0.5,N,A*1C
$WIVWR,112.9,R,0.4,N,0.2,M,0.7,K*5D
$WIVWR,114.3,R,0.7,N,0.4,M,1.3,K*51
$WIVWR,115.5,R,0.5,N,0.3,M,0.9,K*58
$WIVWR,129.1,R,0.5,N,0.3,M,0.9,K*53
$WIVWR,135.8,R,0.5,N,K*57
$WIVWR,90.3,R,0.1,N,0.1,M,0.2,K*6F
$WIVWR,90.3,R,0.3,N,0.2,M,0.6,K*6A
$WIVWR,90.3,R,0.4,N,0.2,M,0.7,K*6C
$WIVWR,90.3,R,0.5,N,0.3,M,0.9,K*62
$WIVWT,,,,,,,,*4B
$WIXDR,C,,C,WCHR,C,,C,WCHT*56
$YXXDR*4F
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9871,B,STNP*4C
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9872,B,STNP*4F
$YXXDR,C,,C,WCHR,C,,C,WCHT,C,,C,HINX,P,0.9873,B,STNP*4E


я пытаюсь сделать замену, что вроде такого:
$zamena = array("GPGGA" => "первое","GPGLL" => "второе","PAMTS" => "справа","WIMDA" => "что-то");
$pattern="#^\\$([A-Z]){4,5}(.?)$#se";
$out=preg_replace($pattern, '$zamena[\'$1\']', $out);
echo "<pre>";
print_r($out);

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

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