将PHP脚本中运行的操作中的大型变量存储在HTML5持久存储中
Storing a large variable in HTML5 persistent storage from an action run in a PHP script
我将首先简要介绍一下这实际上应该做什么…
获取网页的全部内容,转换为字符串,并保存到持久化存储。然而,出于某种原因,它只是…不会吗?
我使用了php的html实体,然后是JSON Stringify,但是它无法工作。
我的代码如下…
//arrays set above
$url = "http://www.google.co.uk";
$handle = fopen($url, "r");
$contents = stream_get_contents($handle);
$contents = htmlentities($contents);
echo "<script lang='text/javascript'>var dataString = JSON.stringify('".$contents."'); tokens[".$t." = ".$rowtokens[5]."]; toStore[".$t." = dataString]; alert('CONTENT'); </script>";
编辑:源代码呈现如下
<script lang='text/javascript'>tokens[0 = tokenvalue here]; toStore[0 = "<!DOCTYPE html PUBLIC "-//W3C//DTD X...
//All the rest of the html of the page.
"];localStorage.setItem(token[0], toStore[0]);</script>
你的意思是:
tokens['".$t."'] = '".$rowtokens[5]."';
当前求值为:
tokens[something = test];
是无效的,并没有做你想做的:
- 一切都发生在属性名内;
- 你没有引号,这可能会把事情搞砸
如果你的代码返回如下:
<script lang='text/javascript'>tokens[0 = tokenvalue here]; toStore[0 = "<!DOCTYPE html PUBLIC "-//W3C//DTD X...
//All the rest of the html of the page.
"];localStorage.setItem(token[0], toStore[0]);</script>
则无效:
- 是
<script type='text/javascript'>
- 我不知道你的
0 = tokenvalue here
是什么意思(你在数字0
中存储一些东西,这是不可能的)。你是说tokens[0] = tokenvalue
吗? - 有换行符,所以你应该删除它们,因为你目前有一个未终止的字符串
快速搜索后找到解决方案
无终止字符串字面值
的常见来源是php代码的换行害死了它。
这很好地修复了它
$str = str_replace(array("'r", "'n"), '', $str);
相关文章:
- 在页面卸载时写入HTML5 FileSystem API存储
- 通过phonegap中的电子邮件发送存储在html5 localStorage中的信息
- 使用HTML5 JS框架进行本地存储
- 移动设备上本地存储(html5)的安全性
- Html5 Web 存储未在第二页中显示数据
- HTML5 本地存储作为缓存和单个资产请求
- 如何将WordPress帖子ID传递到HTML5本地存储
- 存储在HTML5存储中的引导崩溃的当前状态
- 如何将jQuery克隆的文本输入保存到cookie或html5存储中
- asp.net和html5网络存储
- 无法使用HTML5 Web存储保存布尔值的解决方法
- HTML5本地存储URL前缀
- Html5存储本地存储数据库文件
- 使用html5的本地存储来存储变量值
- PHP聊天-在html5中存储id
- html5文件api,将用户选择的目录存储在sessionStorage中
- 如何获取当前应用程序使用的总html5存储大小
- 本地存储在使用 js 和 html5 的游戏中无法正常工作
- 本地存储HTML5
- 保存值从Span ID到本地存储HTML5