php获取选择的选项

时间:2011-06-27 10:58:27

标签: php regex html-parsing domdocument php-parser

我正在处理包含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 个答案:

答案 0 :(得分:3)

选项的值部分中指定的值将位于$_GET ['cCountry']$_POST ['cCountry']中(具体取决于您是使用GET还是POST来提交表单)。

从查找表或数据库查询中查找值应该很简单。

编辑:这个问题并没有说清楚你是否意味着如何获得用户在提交表单时选择的值,或者如何从标记中获取值。如果是后者,那么你应该看看 DOMDocument

答案 1 :(得分:1)

如果您希望在PHP中解析HTML,那么首选方法是对象的DOM层次结构,尤其是DOMDocument。您可以使用类似Javascript的方法访问DOM树(例如getElementById)以获取select控件(在本例中为getElementById ('cCountry')),然后检查其子项(选项)以查找所选项并获取其属性。

使用DOM对象可能需要一点时间,但它们对于解析和操作HTML来说比正则表达式更强大,所以它们非常值得学习。