preg_match вземане на стойности от до

embaka

Registered
Здравейте,
мъча се да взема едни стойности, които ми ги връща едно устройство, което се чеква със сокет и ми връща тая боза. Трябва да взема всичко от Checksum до Checksum, тъй като всеки път връща по различен начин нещата, т.е. в един момент може Cheksum да е по-напред, друг път по-назад, ми трябват последните чексум (от чексум до чексум), обаче с preg_match нещо не мога да го подкарам

ÿûÿûÿþÿý
PID 0xA042
FW
PID 0xA042
FW 112
SER# HQ1336NR1AP
V 13840
I 3400
VPV 32060
PPV 49
CS 5
ERR 0
LOAD ON
H19 772
H20 41
H21 157
H22 76
H23 184
Checksum þ
PID 0xA042
FW 112
SER# HQ1336NR1AP
V 13830
I 3300
VPV 32090
PPV 49
CS 5
ERR 0
LOAD ON
H19 772
H20 41
H21 157
H22 76
H23 184
Checksum ý
PID 0xA042
FW 112
SER# HQ1336NR1AP
V 13840
I 3400
VPV 32060
PPV 49
CS 5
ERR 0
LOAD ON
H19 772
H20 41
H21 157
H22 76
H23 184
Checksum þ
PID 0xA042
 
Това ще ти свърши работа, тествах го:
PHP:
preg_match_all('/Checksum(.*)/im', $s, $matches);
$matches = $matches[1];
print_r ($matches);
$matches ще е масив с всичко след checksum. Примерно ако имаш

Код:
checksum 8465312.51
то $matches ще съдържа " 8465312.51", включително празното място. Можеш да го премахнеш с trim();
 
не вършат работа, това го тествах преди да пусна поста, това не е да го сложиш в някакъв прост текстов файл и да четеш от него, това се чете от socket и връща странни символи както се вижда, не може да засече дори формата какъв е
 
embaka каза:
не вършат работа, това го тествах преди да пусна поста, това не е да го сложиш в някакъв прост текстов файл и да четеш от него, това се чете от socket и връща странни символи както се вижда, не може да засече дори формата какъв е
Може би е глупав въпросът, но тази информация наведнъж ли я получаваш или ред по ред?
Не виждам защо да не работи. Аз го пробвах в writecodeonline и проблемът беше единствено в кодировката, но си мисля че с един подходящ header() ще бъде ок. Какво се случва че да не работи?
 
еми това го изплюва като напълни буфера и го изплюва, сега може да е такова след малко може да е друго, не е гаранция че винаги ще е точно това, единствния вариянт с който стана е със strpos
 

Back
Горе