Решил на досуге подучить php , взялся с примера скрипта l2top. Наткнулся на функции strpos и substr , для чего они нужны я в принципе понял , но в одном так и не разберусь... Вот пример строк :
$pdata=(substr($l2top,(strpos($l2top,'сервер:<br></th>')+16),strlen($l2top)));
$data=(substr($pdata,(strpos($pdata,'</tr>')+6),(strpos($pdata,'</table>')-22)));
$data=(substr($data,1,strpos($data,'</table>')-8));
$nums=substr_count($data,'<tr>');
В первой строке как я понимаю начинаеться "тело движение" после найденных строк "Сервер:<br></th>" далее как я понимаю число 16 означает отступ (те 16 знаков - номер в списке и ип) далее мы получаем длинну строки(вот тут я чуть чуть не понимаю зачем..). Вторая строчка подгружает первую и добавляет 6 знаков (это понятно - время) , а вот второе -22 - это что и куда ?) Третью строчку вообще не понимаю что она делает , понятно тока что закрывает выполнение чтения с таблицы , но опять же таки что означают цифры 1 и -8. 4 строка видимо выводит полученное.
В общем вопросы думаю ясны , очень надеюсь на Вашу помощь. Строго не судить , я в пхп почти не рублю , учусь вот таким вот макаром...
— La2Psy.ru [ADM]Wh1tePower...
В первой строчке, мы находим в строке вхождение "Сервер:<br></th>", отсупаем 16 символов и записываем в переменную $pdata остаток строки. А длину строки получаем для того чтобы вырезать до конца (см. параметры функции substr).
Т.е. была, например строчка: "1234567 бла-бла-бла Сервер:<br></th>[еще_16_символов], а это продолжение строки"
Станет ", а это продолжение строки".
Все однотипные, читай ниже по ссылкам описание этих функций и я думаю все станет ясно.
Принцип работы понял , но так и не понял откуда вычитаеться 22... Из самого начала этой строки? То есть "1 ххх.ххх.ххх.ххх 14:00:00 19.01.09 Myxaxa" ? Из неё вычитаем 22 остаёться дата и ник , далее удаляеться видимо дата и записываеться только ник :Р Я прав?
— La2Psy.ru [ADM]Wh1tePower...
Зачем вообще что то отступать?о0 если парсить можно сразу...
там же вид такой:
— FoBOSS
Мне нужно чтоб не парсило , мне нужно в этой байде разобраться , написал же сверху что учусь и разбираю что к чему. И ещё вопросик , чтоб воспринимало все буквы и знаки нужно писать [\s-] так ?
— La2Psy.ru [ADM]Wh1tePower...
нет, \s - это регулярное выражение обозначающее пробел или перенос cтроки.
вот почитай:
_http://phpclub.ru/detail/article/regexp_1
_http://phpclub.ru/detail/article/regexp_2
— FoBOSS
А на вопрос то ответить можно ?) Я правильно всё понял? Я про второй пост свой :Р
— La2Psy.ru [ADM]Wh1tePower...
тебе же ответили)))
вот цитирую: "нет, \s - это регулярное выражение обозначающее пробел или перенос cтроки."
а вообще спасибо что поднял этот вопрос))
— 15
Да я не про этот вопрос , а про то что правильно я понял как парсинг там работает или нет
— La2Psy.ru [ADM]Wh1tePower...
Rem000, позволь спросить.
А энто ты через чего такой регэксп сгенерил? O_o
Прям тютелька-в-тютельку, ну не руками-же писал всетаки? )
— Ålderdom - ingen glädje..
— FoBOSS
— Ålderdom - ingen glädje..