0

我正在使用 file_put_contents、ob_get_contents 从整个 php 页面生成一个静态 html 页面。PHP 页面上有一个 HTML 表单,该表单也将在 html 中生成。

该表单的 ID 为 myForm。

我需要做的是按原样生成 HTML,但省略“myForm”。基本上我不想要新创建的 HTML 页面中的表单。

这是我用来从我的 PHP 页面生成 html 页面的内容:

<?php 
if ((isset($_POST["music1"])) && (isset($_POST["music2"])))  
{ 

file_put_contents($options[$_POST['music1']].'+'.'and'.'+'.$options[$_POST['music2']].'.html', ob_get_contents());


}
// end buffering and displaying page
ob_end_flush();

?>

在创建 html 页面并选择退出时,是否有针对“myForm”ID 的方法?

编辑:据我所知,这个问题没有重复。我不是在问“如何使用简单的 html dom 解析器”!这就是为什么我专门提供了我正在使用的代码 ob_get_clean。我不确定我是否遗漏了什么?

编辑:

这就是我现在拥有的,但它不起作用:

    <?php 
    if ((isset($_POST["music1"])) && (isset($_POST["music2"])))  
    { 

    $foo = '
    <style>
        #myForm {
          display: none;
        }
    </style>
</header>';
$finalHTML = str_replace('</header>', $foo, $currentHTML);file_put_contents($options[$_POST['music1']].'+'.'and'.'+'.$options[$_POST['music2']].'.html', ob_get_contents());


    }
    // end buffering and displaying page
    ob_end_flush();

    ?>
4

1 回答 1

0

为什么不简单地添加一个 CSS?

<style>
    #myform {
      display: none;
    }
</style>

编辑:试试这个黑客怎么样:

$foo = '
    <style>
        #myForm {
          display: none;
        }
    </style>
</header>';
$finalHTML = str_replace('</header>', $foo, $currentHTML);

编辑:

在你的情况下:

   <?php 
    if ((isset($_POST["music1"])) && (isset($_POST["music2"])))  
    { 

    $foo = '
    <style>
        #myForm {
          display: none;
        }
    </style>
</header>';
$currentHTML = ob_get_contents();
$finalHTML = str_replace('</header>', $foo, $currentHTML);

file_put_contents($options[$_POST['music1']].'+'.'and'.'+'.$options[$_POST['music2']].'.html', $finalHTML);


    }
    // end buffering and displaying page
    ob_end_flush();

    ?>
于 2013-08-24T20:00:41.667 回答