【发布时间】:2013-12-25 09:57:21
【问题描述】:
我需要将短字符串插入长字符串。我的问题是,字符串的 substr 成本内存......无论如何如何在不消耗新内存的情况下将长字符串分成两个。
$str = "xxx...yyy"; // 10 MB
$insert_str = "insert here";
// now split long string and insert short string
echo substr($str, 0, 5000000); // eats next 5 MB
echo $insert_str;
echo substr($str, 5000000); // eats next 5 MB
我的问题是脚本以致命错误结束:内存不足 但不会也不能为此添加额外的内存
我不能使用 substr_replace ... 因为什么都没有被替换... 是插入文本
我不能使用任何文件操作,因为文本是动态生成的(不在文件中)
【问题讨论】:
-
请解释真正的问题,而不是你的“解决方案”。
-
如果你在 PHP 中定义了一个 10 MB 的字符串,那么无论如何你都做错了。
-
10 MB 字符串?该死,我的整个网站(仅计算 php、js 和 css 文件)的大小甚至不到 10 MB。