我将HTML存储在一个字符串中。标记包含名为 initval 和 endval 的表单input
字段,它们是我需要的value
属性值。如何从此字符串标记中获取它们?
<form id="compute">
<input type="hidden" name="initval" value="tal:00far" />
<input type="hidden" name="endval" value="utl:80er" />
</form>
答案 0 :(得分:3)
假设结构非常可靠,请尝试以下方法:
$htmlCode = "...";
$matches = array();
if (preg_match_all('/name="(initval|endval)"\s+value="([^"]+)"/', $htmlCode, $matches)) {
$formValues = array_combine($matches[1], $matches[2]);
} else {
// error
}
这假定name
和value
属性之间只有空格,如果不同,您需要进行一些小改动。 preg_match_all()返回一个数组,其中包含[0]
处的整个正则表达式匹配,然后各个组匹配其对应的位置[1]
&amp; [2]
,数组合并将一个作为键,一个作为值并将它们放在一起,这样您就可以通过关联查找来获得结果。
答案 1 :(得分:0)
如果我的问题是对的, 在HTML中
<form id="compute" action="somefile.php" method="GET">
<input type="hidden" name="initval" value="tal:00far" />
<input type="hidden" name="endval" value="utl:80er" />
<input type="submit" value="Click!">
</form>
点击提交后,数据将被发送到php脚本,在那里它可以被读作
$initval = $_GET['initval'];
$endval =$_GET['endval'];
编辑:我觉得这个问题不对,抱歉。 : - (
答案 2 :(得分:0)
尝试使用htmldomlibraries解析html。