我有一个脚本,可以从用户那里获取用户的html,也可以通过curl或电子邮件从用户那里获取整页html。问题是我在字符串中有html但在同一页面上我需要在单独的iframe中显示htmnl。我不想在teh iframe引用的页面中重新输入任何数据库,curl或imap代码 - 有没有办法让我以某种方式显示传递给url的html?就像在get变量中一样..这里的html可能很大......对不起,如果听起来很奇怪。
答案 0 :(得分:1)
您可以将抓取的html放入临时文件中,并将该临时文件的链接放入iframe的src=""
。
使用tempnam()
创建它们,然后创建一个小脚本,获取(最好是模糊的)文件名,如果它真的是你创建的临时文件,只需将其打印出来。
小心!如果它没有很好地检查文件名,那么您将获得对服务器的完全读取权限...将该脚本的链接放在iframe的src中。您也可以在www服务器的公共文件夹中创建临时文件,但我不希望那里有临时/垃圾。
答案 1 :(得分:0)
(如果我没有误解你的问题)
您可以将字符串放在表单内的textarea中并提交表单..
接收页面将读取发布的数据并在页面上呈现..
答案 2 :(得分:0)
我不太确定你想做什么,让你可以随时将字符串作为POST变量发布,不限制它们的长度。
答案 3 :(得分:-1)
您可以使用urlencode
对HTML片段进行编码,并在使用$_GET
进行检索时自动解码,或者您可以使用例如base64_encode
和base64_decode
。问题是$_GET
和$_POST
有限制。两者都可以在配置设置中设置,但是通过URL发送大量数据实际上并没有完成,因为这不是应该如何使用的。
但如果我正确阅读了您的问题,您可以在页面顶部抓取HTML,然后将其加载到iframe中吗?
if ($_GET['url']) {
$html = file($_GET['url']);
}
if ($_POST['html']) {
$html = $_POST['html'];
}
然后加入它:
<html>
..
<iframe ..><php echo $html; ?></iframe>
..
</html>