我有一个php
页面,它接收POST
个属性。然后根据这些属性呈现此页面。我想从收到的属性中完全填充后,获取php
页面的源代码。在html
解析器解析后,此页面将是一个简单的php
代码。我已提到file_get_contents
和PHP Simple HTML DOM Parser
,但无法找到任何可接受的答案。
我想要的是解析后的原始html代码为PHP Parser
示例
echo "<p>Hi<p>"
页面将返回
<p>Hi</p>
我想要这个输出如上。
答案 0 :(得分:1)
您需要使用PHP的output control functions来获取PHP生成的输出。
示例:强>
<?php
// From here on, keep all output in a buffer
ob_start();
// Output whatever you want
echo "<h1>Hello World!</h1>" . PHP_EOL;
echo "<p>How're you doin' today?</p>";
// Store the contents of the buffer in $output
$output = ob_get_contents();
// Clear the buffer and stop buffering the output
ob_end_clean();
// Show the output we caught using the buffer
var_dump($output);
?>
<强>输出:强>
string(52) "<h1>Hello World!</h1>
<p>How're you doin' today?</p>"
答案 1 :(得分:1)
您需要使用POST方法配置以下选项并提供POST参数:
<?php
// Create a stream
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.example.com/', false, $context);
?>
卷曲也可能是一个很好的选择......
答案 2 :(得分:1)
带输出缓冲的HTML特殊字符:
<?php
ob_start();
echo "<h1>Heading</h1><br>\n";
echo "<p>Randomsampletext</p>";
$output = ob_get_contents();
ob_end_clean();
您可以使用htmlspecialchars($output);
输出在php脚本中生成的原始HTML,或者您可以对$ output变量执行任何操作,例如echo it等。
将显示原始HTML:
<h1>Heading</h1>
<p>Randomsampletext</p>