помогите подправить регулярку

Тема в разделе "Регулярные выражения", создана пользователем chang, 13 июн 2010.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    PHP:
     $text 'var HTML="<form name=\"Compose\" id=\"Compose\" method=\"post\" action=\"/doit\" onsubmit=\"return addCommentCheck(this);\">"
          +"<input type=\"hidden\" name=\"action\" value=\"authaddans\" />"
          +"<input type=\"hidden\" name=\"ch\" value=\"f829e74df394483392e50ee266f3b870\" />"
          +"<input type=\"hidden\" name=\"qid\" value=\"41546118\" />"      
          +"<table class=\"Form mb15 w80\">"'
    ;  
     
    preg_match_all("/\+\"<input\stype=\\\"hidden\\\"\sname=\\\"(\w+)\\\"\svalue=\\\"([a-zA-Z_[0-9]*)\\\"\s\/>\"/imU"$text$matches2PREG_PATTERN_ORDER);  
     
    print_r($matches2);
    нужно достать все значения в name + соответствующие им value

    вот есть некий конструктор Javascript Regexp Evaluator
    на нем регулярка работает ... видать в пхп нужно тчо-то подправить но никак не соображу что


    конструктор

    помогите пожалуйста подправить
    заранее большое спасибо
     
  2. gidroponic

    gidroponic Создатель

    Регистр.:
    21 янв 2009
    Сообщения:
    26
    Симпатии:
    3
    в регулярке перед всеми \" добавь еще \\
     
    chang нравится это.
  3. costic

    costic Писатель

    Регистр.:
    17 май 2009
    Сообщения:
    8
    Симпатии:
    4
    В JS часто уже рендеренный текст просматривается, там всегда будет один пробел, в исходном коде не всегда так, поэтому лучше пробелы искать \s+
    2е - в наборе символов (там, где валюе ловишь) внутри набора - открывающая квадратная скобка, если она тебе нужна, то экранируй: \[
     
Статус темы:
Закрыта.