igrok54
Ищущий
Выделить в переменную часть строки с помощью регулярного выражения
Здравствуйте!
Верстаю шаблон для Drupal и столкнулся с проблемой:
Надо убрать со страницы дефолтную форму авторизации и прописать свою в нужном месте.
Затык в том, что:
1. форма вставлена в сайдбар, код которого передается в шаблон одной переменной $right;
2. при авторизации в форму авторизации вставляется ключ. Его надо перенести в свою форму.
Для этого думаю сделать так:
1. Получение ключа - решено. Отпарсить в отдельную переменную регулярным выражением ключ из дефолтной формы - регулярку составил, вот она: id.{2}form-([^"]*) - ключ будет в $1.
2. Удаление со страницы дефолтной формы. Далее надо с помощью регулярного выражения записать в переменную строку только с формой.
Вот тут у меня тормоз.
Начало регулярки понятно, вполне сработает - (<form action.{4}q.admin.settings.performance&destination
а вот чтобы отпарсило до тега, закрывающего форму </form> никак не могу дописать.
Содержание переменной $right:
<div id="block-user-0" class="block block-user">
<h2>Вход в систему</h2>
<div class="content">
<form action="/?q=admin/settings/performance&destination=admin%2Fsettings%2Fperformance" accept-charset="UTF-8" method="post" id="user-login-form">
<div><div class="form-item" id="edit-name-wrapper">
<label for="edit-name">Имя пользователя: <span class="form-required" title="Обязательное поле">*</span></label>
<input type="text" maxlength="60" name="name" id="edit-name" size="15" value="" class="form-text required" />
</div>
<div class="form-item" id="edit-pass-wrapper">
<label for="edit-pass">Пароль: <span class="form-required" title="Обязательное поле">*</span></label>
<input type="password" name="pass" id="edit-pass" maxlength="60" size="15" class="form-text required" />
</div>
<input type="submit" name="op" id="edit-submit" value="Вход в систему" class="form-submit" />
<div class="item-list"><ul><li class="first"><a href="/?q=user/register" title="Создать новую учетную запись пользователя.">Регистрация</a></li>
<li class="last"><a href="/?q=user/password" title="Получить новый пароль на e-mail.">Получить новый пароль</a></li>
</ul></div><input type="hidden" name="form_build_id" id="form-ba1eceb083847fe810d45c960c5f36bc" value="form-ba1eceb083847fe810d45c960c5f36bc" />
<input type="hidden" name="form_id" id="edit-user-login-block" value="user_login_block" />
</div></form>
</div>
</div>
Знатоки регулярных выражений, пожалуйста, помогите!
Здравствуйте!
Верстаю шаблон для Drupal и столкнулся с проблемой:
Надо убрать со страницы дефолтную форму авторизации и прописать свою в нужном месте.
Затык в том, что:
1. форма вставлена в сайдбар, код которого передается в шаблон одной переменной $right;
2. при авторизации в форму авторизации вставляется ключ. Его надо перенести в свою форму.
Для этого думаю сделать так:
1. Получение ключа - решено. Отпарсить в отдельную переменную регулярным выражением ключ из дефолтной формы - регулярку составил, вот она: id.{2}form-([^"]*) - ключ будет в $1.
2. Удаление со страницы дефолтной формы. Далее надо с помощью регулярного выражения записать в переменную строку только с формой.
Вот тут у меня тормоз.
Начало регулярки понятно, вполне сработает - (<form action.{4}q.admin.settings.performance&destination
а вот чтобы отпарсило до тега, закрывающего форму </form> никак не могу дописать.

Содержание переменной $right:
<div id="block-user-0" class="block block-user">
<h2>Вход в систему</h2>
<div class="content">
<form action="/?q=admin/settings/performance&destination=admin%2Fsettings%2Fperformance" accept-charset="UTF-8" method="post" id="user-login-form">
<div><div class="form-item" id="edit-name-wrapper">
<label for="edit-name">Имя пользователя: <span class="form-required" title="Обязательное поле">*</span></label>
<input type="text" maxlength="60" name="name" id="edit-name" size="15" value="" class="form-text required" />
</div>
<div class="form-item" id="edit-pass-wrapper">
<label for="edit-pass">Пароль: <span class="form-required" title="Обязательное поле">*</span></label>
<input type="password" name="pass" id="edit-pass" maxlength="60" size="15" class="form-text required" />
</div>
<input type="submit" name="op" id="edit-submit" value="Вход в систему" class="form-submit" />
<div class="item-list"><ul><li class="first"><a href="/?q=user/register" title="Создать новую учетную запись пользователя.">Регистрация</a></li>
<li class="last"><a href="/?q=user/password" title="Получить новый пароль на e-mail.">Получить новый пароль</a></li>
</ul></div><input type="hidden" name="form_build_id" id="form-ba1eceb083847fe810d45c960c5f36bc" value="form-ba1eceb083847fe810d45c960c5f36bc" />
<input type="hidden" name="form_id" id="edit-user-login-block" value="user_login_block" />
</div></form>
</div>
</div>
Знатоки регулярных выражений, пожалуйста, помогите!