我有一个php文件,它接受一个xml文件(由外部源生成)并使用CSS&amp ;;重新格式化。 HTML。许多XML标签是我不希望在最终版本中看到的东西,因此我将它们隐藏起来。最终结果是这样的:
<html>
<div style="display: none">
content i don't want to see
</div>
content I do want to see.
</html>
有没有办法可以将生成的html文件显示在浏览器窗口中,
content I do want to see.
...并将其另存为文本文件?我希望它忽略所有隐藏的<div>
标记,只保存用户可以选择和复制的标记。
我四处寻找答案,但我甚至不确定我在寻找什么或如何搜索它。
我也试过这个:
ob_start();
file_put_contents('filename.htm', ob_get_contents());
ob_end_flush();
......但这并没有解决它。我在输出的测试(>
等)中有许多标记需要在显示时保存,而ob_get_contents()
采用页面的源代码,而不是显示的版本。
这很重要,因为输出的页面也是基于其他因素生成的PHP,因此我需要使用html unicode值来保持$符号和引号不会弄乱源PHP。
我希望这很清楚。提前感谢您的任何帮助或建议。
答案 0 :(得分:0)
我认为你必须手动删除不需要的部分,使用RegEx的东西,这可能是:
$content_raw = ob_get_contents();
$content_stripped = preg_replace($content_raw, '<div style="display: none">[^<>]*</div>', '');
file_put_contents('filename.htm', $content_stripped);