用php修改html表单元素的最佳方法?

时间:2012-09-16 08:37:14

标签: php html regex dom xpath

如何使用PHP修改和插入表单元素?

我在PHP中有一个分配给变量的表单,如下所示:

$the_original_form = '
<form method="post" action="whatever.php">
<input type="text" name="iamtextfield" id="textisme">
<input type="file" name="iamfilefield" id="fileisme">
<input type="hidden" name="hideme" value="nope">
</form>
';

我有第二个变量:

$put_me_on_the_top = '<div class="getinme">';

第三个变量:

$put_me_on_the_bottom = '</div><div class="justsomethingelse">hi there</div>';

修改后的表单元素:

$i_have_changed = '<input type="file" name="filepartdeux" id="iamabetterfile">';

我想最终:

$the_modified_form = '
<form method="post" action="whatever.php">
<input type="text" name="iamtextfield" id="textisme">
<div class="getinme">
    <input type="file" name="filepartdeux" id="iamabetterfile">
</div>
<div class="justsomethingelse">hi there</div>
<input type="hidden" name="hideme" value="nope">
</form>
';

2 个答案:

答案 0 :(得分:1)

检查phpQuery - PHP的jQuery端口。这是在PHP中使用HTML的非常简单的工具,它特别适合具有基本jQuery知识的工具。

答案 1 :(得分:1)

您可以将格式错误或格式正确的HTML文档加载到新的DOMDocument中,并像处理XML一样对其进行操作。

$doc = new DOMDocument();

$doc->loadHTML($the_original_form);

// You can manipulate using the DOM object just follow the PHP manual for usage
foreach ($doc->childNodes as $element)
{
    // Evaluate elements here and insert / extract / delete as necessary
}
  • 格式错误的HTML会从DOMDocument中抛出错误,您需要处理这些错误的方法。尽可能多地尝试使用格式良好的HTML。