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

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

  • web-bee

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

    Spritz 19 мая 2010 г. 4: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

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

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

    web-bee, lol :)

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

    Spritz 23 мая 2010 г. 1: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 г. 1:30, спустя 5 минут 1 секунду

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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