我將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>
我將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>
假定該結構是非常可靠的那樣,請嘗試以下操作:
$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]
& [2]
,數組合並將一個作爲關鍵字,一個作爲值並將它們放在一起,以便您有一個關聯查找得到你的結果
如果我有你的問題的權利, 在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'];
編輯:好像我錯了,對不起。 :-(
嘗試使用htmldomlibraries解析html。
@Jere:你不能這麼說。這取決於HTML代碼以及您正在嘗試使用的代碼。 – Gumbo 2010-12-05 14:10:32
@Jere:這不是一個專業提示,這往往是錯誤的,這是一個缺乏理解的提示。 – Orbling 2010-12-05 14:14:57
形式總是像這樣,還是可以變化很大,無效等? – Orbling 2010-12-05 14:15:47