php中select标记的preg_匹配
我想使用preg_match获得下面选择标记之间的所有选项值php中select标记的preg_匹配,php,preg-match,Php,Preg Match,我想使用preg_match获得下面选择标记之间的所有选项值 <select id="current-statement" name="current-statement" data-reactid=".4.2.2.1.0.2.1.1.0"> <option value="current" data-reactid=".4.2.2.1.0.2.1.1.0.0">Current Statement</option> <option value="90989
<select id="current-statement" name="current-statement" data-reactid=".4.2.2.1.0.2.1.1.0">
<option value="current" data-reactid=".4.2.2.1.0.2.1.1.0.0">Current Statement</option>
<option value="90989266-c853-289b-dfea-3cdfe2213db7" data-reactid=".4.2.2.1.0.2.1.1.0.1">1st Statement</option>
<option value="165eb5ea-fd48-53c8-020b-6e3287859922" data-reactid=".4.2.2.1.0.2.1.1.0.2">second statement</option>
<option value="0d558fa0-8f48-afa2-7a9a-e8f85fbbbc42" data-reactid=".4.2.2.1.0.2.1.1.0.3">third statement</option>
<option value="9c78f8aa-3b09-4574-1c10-8f450b45eb5b" data-reactid=".2.0.0.1.0.2.1.1.0.4">4th statement</option>
</select>
当前报表
第一项声明
第二项声明
第三项声明
第四项声明
我试着像赛前比赛那样得到它,但无法做到
preg_match("'<select id=\"current-statement\" name=\"current-statement\" data-reactid=\".4.2.2.1.0.2.1.1.0\">(.*?)</select>'", $content, $match);
if($match) echo "result=".$match[1];
preg_match(“(*?”)$content$match);
如果($match)echo“result=”.$match[1];
请帮助使用DOM,任务简化为编写工作XPath表达式:
//select/*/text()
在哪里
-查找所有//选择
标记选择
-然后是里面的任何孩子/*
-并获取文本节点/text()
$html=nodeValue);
}
印刷品(港币);;
使用DOM,任务简化为编写工作XPath表达式:
//select/*/text()
在哪里
-查找所有//选择
标记选择
-然后是里面的任何孩子/*
-并获取文本节点/text()
$html=nodeValue);
}
印刷品(港币);;
为什么不使用DOM?对于DOM,这应该是相当直接的。使用正则表达式,您必须执行至少2个步骤(如果您想要一个可读的解决方案),或者使用一个带有\G
运算符的大型正则表达式,但不能保证它始终有效。为什么不使用DOM?对于DOM,这应该是相当直接的。使用正则表达式,您必须执行至少2个步骤(如果您想要一个可读的解决方案),或者一个带有\G
运算符的大型正则表达式,并且不能保证它始终有效。仅供参考,请参阅正则表达式解决方案:。非常难看且容易出错。仅供参考,请参阅正则表达式解决方案:。相当难看而且容易出错。