日期:2014-05-19  浏览次数:20463 次

怎样从html代码中提取出控件
比如: <p> <input   type= "checkbox "   checked= "checked "   name= "name "   value= "hhh "   /> fasfdsafsdaf <input   maxlength= "50 "   size= "4 "   name= "name "   /> </p> ,中提出 " <input   type= "checkbox "   checked= "checked "   name= "name "   value= "hhh "   /> "这样的控件,并用1等数字来替换,控件可能是其他类型的,谢谢指教!最好是C#的,javascript也行.

------解决方案--------------------
用下面的代码试下

string yourStr = richTextBox1.Text;
MatchCollection mc = Regex.Matches(yourStr, @ " <(input|select)\s[^> ]*?> ([\s\S*]*? </\1> )? ", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
richTextBox2.Text += m.Groups[0].Value + "\n\n\n "; //提取结果
}

别的方法我不会,只会用正则,只要楼主的需求明确,应该还是可以满足楼主的要求的,只不过可能并不是最佳的处理方式吧
------解决方案--------------------
<body>
<div id= "s "> </div>
<form>
<input type= "text " name= "s1 "/>
<input type= "text " name= "s1 "/>
<input type= "text " name= "s1 "/>
<input type= "text " name= "s1 "/>
<input type= "text " name= "s1 "/>
<select name= "s "/>
</form>
<script>
k(document.body);

function k(obj){
for (var i = 0; i < obj.childNodes.length; i++){
if (obj.childNodes[i].hasChildNodes()) {
k(obj.childNodes[i]);
}
var tn = obj.childNodes[i].nodeName.toLowerCase();
if (tn == "input " || tn == "select " || tn == "textarea "){
document.getElementById( "s ").innerHTML += tn + ": name: " + obj.childNodes[i].getAttribute( "name ") + " <br /> "
}
}
}
</script>
</body>

------解决方案--------------------
来晚了
********************
html源——
<tr> <td> <input id= "MobileTypesImg_3 " type= "checkbox " name= "MobileTypesImg:3 "> <label for= "MobileTypesImg_3 "> kyocera-KZ-820 </label> </td>
<td> <input id= "MobileTypesImg_10 " type= "checkbox " name= "MobileTypesImg:10 "> <label for= "MobileTypesImg_10 "> LGE CU-8080 </label> </td>
<td> <input id= "MobileTypesImg_17 " type= "checkbox " name= "MobileTypesImg:17 " checked> <label for= "MobileTypesImg_17 "> MOT-V860 </label> </td>
<td> <input id= "MobileTypesImg_24 " type= "checkbox " name= "MobileTypesImg:24 "> <label for= "MobileTypesImg_24 "> SEC-schx319 </label> </td>
</tr>
<tr> <td> <input id= "MobileTypesImg_4 " type= "checkbox " name= "MobileTypesImg:4 "> <label for= "MobileTypesImg_4 "> kyocera-KZ-850 </label> </td>
<td> <input id= "MobileTypesImg_11 " type= "checkbox " name= "MobileTypesImg:11 "> <label for= "MobileTypesImg_11 "> LGE CU-8180 </label> </td>
<td> <input id= "MobileTypesImg_18 " type= "checkbox " name= "MobileTypesImg:18 " checked> <label for= "MobileTypesImg_18 "> MOT-V868 </label> </td>