PHP在<form>元素</form>中捕获字符串

时间:2013-03-26 13:39:35

标签: php html forms extract

我有一个字符串,其中包含以下html:<form></form>。我想获取<form></form> html中存在的字符串。我不是试图发布表单或访问发布的数据,我只是试图解析字符串并检索<form></form>元素中的字符串。我确定它需要通过DOM或正则表达式来完成,但我只想获得一些输入和可能的帮助。

2 个答案:

答案 0 :(得分:0)

这是非常奇怪的要求,它表明你做的事情非常糟糕...... 但是,你怎么能这样做......

假设表单看起来像这样:

<form id="myform" method="post" action="action.php" onsubmit="fillFormContentField()"> ... </form>

因此,在表单中放入一个隐藏的输入字段,例如:

<input type="hidden" id="formContent" />

最后,你编写了JavaScript函数,如下所示:

function fillFormContentField() {
    document.getElementById("formContent").value =
        document.getElementById("myForm").textContent;
}

那么,我们在这做了什么?在提交被正确执行之前,我们将所有表单内容放入一个隐藏字段中。请注意我们使用textContent字段而不是innerHTML。另外,我认为textContent字段与IE不兼容,因此您应该使用特定于IE的字段innerText

最好的办法是使用一些JS库,比如jQuery,这只是一个例子。

完成所有这些之后,你只需抓住php端的$_POST["formContent"]

然而,我会再次重复:做这样的事情是非常错误的! :d

答案 1 :(得分:0)

$str = "<html><form>getthisstrong</form></html>";
$i_want_this_string_very_much =  preg_replace('/.*<form>(.*)<\/form>.*/','$1',$str);
echo $i_want_this_string_very_much;