Afficher un message
Vieux 26/03/2008, 23h45   #4
Alexey Kulentsov
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: string matching position.

quick&dirty solution

<?php

$data=<<<EOD
code = 1
subcode 65 values 06101;06102;06103;06106;06108;06109
subcode 69 values 07003;07004;07007;07008;07009;07012;07013

code = 2
subcode 65 values 61215;61218;61558;61587
subcode 69 values 83662;83667;83668

EOD;

// search function
function smart_search($data,$code,$value)
{
preg_match("/^code = {$code}[^=]+subcode (\\d+) values
[;\\d]*$value/m",$data,$res);
return isset($res[1]) ? $res[1] : false;
}


// test it
foreach(array('06101'=>1,'06103'=>1,'06109'=>1,'07 009'=>1,'07013'=>1
,'61215'=>2,'61587'=>2,'83668'=>2) as $value=>$code)
echo $value.' '.$code.' : '.smart_search($data,$code,$value)."\n";


?>

I think here was mistake in string 'subcode 69 values 83662:83667;83668'
  Réponse avec citation
 
Page generated in 0,04518 seconds with 9 queries