Сделано в Раскрутке

Архив эхоконференции RU.PHP

- RU.PHP ------------------------------------------------------------- RU.PHP -
 Msg  : #10108 [514]
 От   : Alex Krasnyansky              2:461/444.5         29 августа 04, 22:11
 Кому : Vladimir N Zaytcev                                30 сентября 04, 01:01
 Тема : Разорвать строку
-------------------------------------------------------------------------------
Hello Vladimir.

28 авг 04 14:53, you wrote to JokeR[FHC]:
 >> Есть строка:
 >> 127.0.0.1 - - [23/Jan/2004:18:22:56 +0300] "GET / HTTP/1.1" 500 644
 >> Hадо разорвать ее на составляющие, а имеено
 >> ip,?,?,date,query,answer,traf
 >> split здесь явно не поможет.. понятно, что надо использовать
 >> regexp. Помогите!
 VZ> $str = '127.0.0.1 - - [23/Jan/2004:18:22:56 +0300] "GET / HTTP/1.1"
 VZ> 500 644';
 VZ> preg_match("/(\d+\.\d+\.\d+\.\d+) (.*?) (.*?) \[(.*?)\] \"(.*?)\"
 VZ> (\d+) (\d+)/i", $str, $matches);
 VZ> var_dump($matches);
  кстати, вполне поможет и split без всяких регекспов.

$str = '127.0.0.1 - - [23/Jan/2004:18:22:56 +0300] "GET / HTTP/1.1" 500 644';
list($ip,$user,$server,$datetime,$grinv,$type,$zapros,$protocol,
$code,$bytes_out)=split($str," ");
далее останется отчистить (если надо) символы кавычки и квадратные скобки из
соответственных переменных.


собственно, кому как нравится :)  Учитывая, что регекспы жрут намного больше
ресурсов, чем тот же list.



Alex

--- GoldED+ 1.1.5-030609 (WinNT 5.1.2600-Service_Pack_1 i686)
 * Origin: Vivat! (2:461/444.5)


При переходе по баннеру - скидка 25% на первый месяц обслуживания!
Самый простой способ получить ROOT-доступ
При переходе по баннеру - скидка 25% на первый месяц обслуживания!