PHP получить выбранный вариант - PullRequest
0 голосов
/ 27 июня 2011

Я обрабатываю файлы, содержащие разметку HTML.

Мне нужно получить выбранный вариант из выпадающего списка. В этом случае Австралия является выбранной опцией ..

  <select name="cCountry" id="cCountry" style="width:200" tabindex="5">

  <option value="251">Ascension Island</option>
  <option selected="selected" value="14">Australia</option>
  <option value="13">Austria</option>

Другой сценарий:

    <select name="cBirthYearM" id="cBirthYearM">
<option value="1974">1974</option>
<option value="1975">1975</option>
<option value="1976">1976</option>
<option selected="selected" value="1977">1977</option>
<option value="1978">1978</option>
<option value="1979">1979</option>

В этом случае «1977» - это значение, которое мне нужно извлечь, так как это выбранный параметр. Чтобы было понятно, мне нужно получить значение из разметки, а не из пользовательского ввода GET / POST

Ответы [ 2 ]

3 голосов
/ 27 июня 2011

Значение, указанное в части значения параметра, будет в $_GET ['cCountry'] или $_POST ['cCountry'] (в зависимости от того, используете ли вы GET или POST для отправки формы).

Поиск значения в таблице поиска или запросе к базе данных должен быть простым делом.

РЕДАКТИРОВАТЬ: Этот вопрос не прояснил, если вы имели в виду, как получить значение, выбранное пользователем при отправке формы, или как получить значение из разметки.Если это последнее, то вам следует взглянуть на DOMDocument .

1 голос
/ 27 июня 2011

Если вы хотите анализировать HTML в PHP, тогда предпочтительным методом является иерархия объектов DOM, особенно DOMDocument.Вы можете использовать Javascript-подобные методы доступа к дереву DOM, такие как getElementById, чтобы захватить элемент управления select (в данном случае getElementById ('cCountry')), а затем исследовать его дочерние элементы (параметры), чтобы найти выбранный элемент и получить его атрибуты.

Может потребоваться немного привыкнуть к использованию объектов DOM, но они гораздо более эффективны для анализа и манипулирования HTML, чем регулярное выражение, поэтому их стоит изучить.

...