ФорумПрограммированиеPHP для идиотов → Вырезание регулярками значений hidden-полей

Вырезание регулярками значений hidden-полей

  • web-bee

    Сообщения: 119 Репутация: N Группа: Кто попало

    Spritz Май 19, 2010, 3:48 п.п., спустя 16 минут 22 секунды

    artoodetoo, молодчина!

    а у меня опять коряво ((

    MfcISAPICommand = SignInWelcome bhid = DEF_CI UsingSSL = 1 inputversion = 2 lse = false lsv = mid = AQAAASiEqSo+AAUxMjhiMDYxZmQxMi5hMDI2NjMwLjJjMjkyLmZmZjFmZDJhmPW2IHCHNYZj8fTYOvK85ZADSeE* kgver = 1 kgupg = 1 kgstate = omid = hmid = siteid = 0 co_partnerId = 2 ru = pp = pa1 = pa2 = pa3 = i1 = -1 pageType = -1 rtmData = kgct = MfcISAPICommand = RegisterEnterInfo co_partnerId = 2 siteid = 0 ru = bin = -1

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 19, 2010, 4:18 п.п., спустя 29 минут 23 секунды

    web-bee, lol :)

    а у меня есть Forms.php, который специально на это заточен :)


    бебебеб =)))
    Сапожник без сапог
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Май 19, 2010, 4:20 п.п., спустя 1 минуту 54 секунды

    знаменитые Дудовские формы на пiха.ру
  • web-bee

    Сообщения: 119 Репутация: N Группа: Кто попало

    Spritz Май 19, 2010, 9:07 п.п., спустя 4 часа 47 минут 12 секунд

    phpdude, но у меня-то Forms.php нет и мне учится и учится, чтобы хотябы на долю процента приблизится к твоему опыту и объему знаний..
    а где можно взять эти "знаменитые Дудовские формы"?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 19, 2010, 11:12 п.п., спустя 2 часа 5 минут 12 секунд

    web-bee, не где вроде :)
    Сапожник без сапог
  • web-bee

    Сообщения: 119 Репутация: N Группа: Кто попало

    Spritz Май 20, 2010, 2:56 п.п., спустя 15 часов 44 минуты 25 секунд

    т.е. Forms.php не существуют.. жаль..
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 20, 2010, 3:14 п.п., спустя 17 минут 24 секунды

    web-bee, в инете нет)
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Май 20, 2010, 3:24 п.п., спустя 10 минут 33 секунды


    а у меня опять коряво ((

    в смысле коряво? что-то выводится же. на строчки не бьется? так это от Content-type зависит. или надо <br/> добавить в echo ))))
    ιιlllιlllι унц-унц
  • web-bee

    Сообщения: 119 Репутация: N Группа: Кто попало

    Spritz Май 20, 2010, 7:33 п.п., спустя 4 часа 8 минут 26 секунд

    artoodetoo, спасибо, до меня это только сегодня утром дошло ))
    уже всё работает как надо. спасибо Вам :-*
  • web-bee

    Сообщения: 119 Репутация: N Группа: Кто попало

    Spritz Май 23, 2010, 12:25 п.п., спустя 2 дня 16 часов 52 минуты

    artoodetoo, а вот с дальнейшими манипуляциями над вырезанными значениями hidden-полей возникли трудности..
    на странице есть хидден-поля с одинаковыми нэймами, но разными значениями.. для блока авторизации и регистрации.
    Вот name=value этих 2х блоков:
    1. авторизации:
    MfcISAPICommand = SignInWelcome
    bhid = DEF_CI
    UsingSSL = 1
    inputversion = 2
    lse = false
    lsv =
    ..

    2. регистрации:
    MfcISAPICommand = RegisterEnterInfo
    co_partnerId = 2
    siteid = 0
    ..

    как отсечь один блок хидден-полей от другого?

    ато наглый http_build_query($param) берёт первый нэйм из блока авторизации, а значение к нему приравнивает из блока регистрации. Получается:

    MfcISAPICommand=RegisterEnterInfo&bhid=DEF_CI&UsingSSL=1..
  • Nyaah

    Сообщения: 574 Репутация: N Группа: Джедаи

    Spritz Май 23, 2010, 12:30 п.п., спустя 5 минут 1 секунду

    Вытаскивай сначала отдельно формы, потом выбирай код нужной по имени или айди, и из нужной формы вытаскивай данные инпутов
    Work, buy, consume, die
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Май 23, 2010, 1:54 п.п., спустя 1 час 24 минуты 15 секунд

    вах :)
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5147 Репутация: N Группа: в ухо

    Spritz Май 23, 2010, 5:54 п.п., спустя 3 часа 59 минут 41 секунду

    web-bee, дальше как-нибудь сам(а). не хочу проходить как соучастник )))
    ιιlllιlllι унц-унц
  • web-bee

    Сообщения: 119 Репутация: N Группа: Кто попало

    Spritz Май 24, 2010, 12:02 п.п., спустя 18 часов 8 минут 4 секунды

    artoodetoo, написала сама вот так:

    if ($forms=preg_split('/<form.+/U', $content)){
    if (preg_match_all('/<input.+>/U', $forms[1], $matches, PREG_PATTERN_ORDER)) {
    $inputs = $matches[0];
    foreach ($inputs as $input) {
    if (preg_match_all('/(value|type|name)="(.*?)"/', $input, $matches, PREG_PATTERN_ORDER)) {
    $attribs = array_combine($matches[1], $matches[2]);
    if (isset($attribs['type']) && $attribs['type'] == 'hidden') {
    echo $attribs['name'] . ' = ' . $attribs['value']?><br/><?php
    //$param[]=$attribs['name'] . '=' . $attribs['value'];
    $param[$attribs['name']]=$attribs['value'];
    }
    }
    }
    }
    }


    не знаю на сколько целесообразно было preg_split() использовать.. но по-другому у меня не получалось..
    я плохо написала?
  • web-bee

    Сообщения: 119 Репутация: N Группа: Кто попало

    Spritz Май 29, 2010, 9:53 п.п., спустя 5 дней 9 часов 51 минуту

    artoodetoo, спасибо огромное, с вашей помощью регулярки теперь сама пишу
    и даже получается ))))))))
    Спасибо и за пример, и за ссылку на страницу пыхофишки по вычислению регулярок.
    Сейчас активно пользуюсь.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!