2010-12-05 107 views
3

我將HTML存儲在一個字符串中。該標記包含表格input字段初始值endval這是我需要的value屬性值。我怎樣才能從這個字符串標記中獲得它們?從HTML中讀取屬性值

<form id="compute"> 
    <input type="hidden" name="initval" value="tal:00far" /> 
    <input type="hidden" name="endval" value="utl:80er" /> 
</form> 
+3

@Jere:你不能這麼說。這取決於HTML代碼以及您正在嘗試使用的代碼。 – Gumbo 2010-12-05 14:10:32

+1

@Jere:這不是一個專業提示,這往往是錯誤的,這是一個缺乏理解的提示。 – Orbling 2010-12-05 14:14:57

+0

形式總是像這樣,還是可以變化很大,無效等? – Orbling 2010-12-05 14:15:47

回答

3

假定該結構是非常可靠的那樣,請嘗試以下操作:

$htmlCode = "..."; 
$matches = array(); 

if (preg_match_all('/name="(initval|endval)"\s+value="([^"]+)"/', $htmlCode, $matches)) { 
    $formValues = array_combine($matches[1], $matches[2]); 
} else { 
    // error 
} 

這是假設namevalue屬性之間只有空白,你需要做,如果一個小的變化preg_match_all()返回一個陣列,整個正則表達式匹配爲[0],然後單個組匹配其相應位置[1] & [2],數組合並將一個作爲關鍵字,一個作爲值並將它們放在一起,以便您有一個關聯查找得到你的結果

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']; 

編輯:好像我錯了,對不起。 :-(

0

嘗試使用htmldomlibraries解析html。