2009-07-25 3 views
1

У меня есть этот код:Возможный формат матча PREG пропуском в PHP

//fetch data 
$data = $_POST['list']; 
echo($data); 
echo('<br>then<br>'); 
$data = str_replace("\t", " ", $data); 

echo($data); 
$matches = array(); 
$user = array();    
preg_match("/(.+?) ((?:[A-Z])(?:[0-9]+:){3}[0-9]+) ([0-9]+) \/([0-9]+) ([0-9]+) \/ ([0-9]+)/", $data, $matches); 
list(,$user['base'],$user['location'],$user['econ'],$user['maxecon'],$user['ports'],$user['maxports']) = $matches; 

$base = $users['base']; 
$_SESSION['base'] = $base; 

$location = $users['location']; 
$_SESSION['location'] = $location; 

//intergers 
$econ = intval(($users['econ']), 10); 
$_SESSION['econ'] = $econ; 

$maxecon = intval(($users['maxecon']), 10); 
$_SESSION['maxecon'] = $maxecon; 

$ports = intval(($users['ports']), 10); 
$_SESSION['ports'] = $ports; 

$maxports = intval(($users['maxports']), 10); 
$_SESSION['maxports'] = $maxports; 

Я знаю, что preg_match картина верна, как она успешно используется на другой странице того же желаемому намерения в списке, где была выполнена на действия каждая строка. В этом примере $data содержит данные, но $base, $location и $tecon остаются пустыми.

Что я пропустил или понял?

Ресурсы: увидеть его в действии здесь: http://www.teamdelta.byethost12.com/postroute.php
взгляд на весь код здесь: http://www.teamdelta.byethost12.com/postroute.txt

+0

Формат Plz, который вы кодируете в первом предложении. – 2009-07-25 10:27:13

+0

Это выглядит как большой комментарий (// получение данных $ data ....) является комментарием. – 2009-07-25 10:27:50

ответ

0

Можете ли вы сделать что-то вроде var_dump из вар $ данных перед preg_match и var_dump из $ спичек массив после preg_match?

В любое время, когда у меня были такие проблемы, всегда существовало несоответствие между форматом данных и регулярным выражением. Что-то глупое, часто.

0

пожалуйста, включите сообщения об ошибках на более высокий уровень:

error_reporting(E_ALL | E_NOTICE); 

И вы notive, что случилось

1

найдена ответа .. Списка нельзя назвать строки. Поскольку это единственное значение операции перед матчем, можно вызывать непосредственно из массива совпадений.