我有一个php文件,需要一个xml文件(由外部源生成),并重新格式化它与CSS &超文本标记语言许多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。
我希望我说的很清楚。谢谢你的帮助和建议。
我认为您必须手动剥离不需要的部分,使用RegEx的东西,这可能像:
$content_raw = ob_get_contents();
$content_stripped = preg_replace($content_raw, '<div style="display: none">[^<>]*</div>', '');
file_put_contents('filename.htm', $content_stripped);