这是一个创建于 555 天前的主题,其中的信息可能已经有所发展或是发生改变。
txt 有 600000 字节左右,只需要前面 300000 字节,任何字符都可能出现,包括回车、换行
$txt = preg_replace('/(^[\s\S]{300000})[\s\S]*/','$1', $txt); 这段代码,字数小一点可以,加大后就不行,大概几万就不行了,300000 就更不行了
2 条回复 • 2022-12-09 14:22:56 +08:00
![eason1874](https://cdn.v2ex.com/avatar/3d27/4899/442190_normal.png?m=1668415623) |
|
1
eason1874 2022-12-09 14:18:23 +08:00
提取前 30 万字节,为啥要用正则,这应该用截断吧
按字节截断用 substr ,按 UTF8 字符截断用 mb_substr
|
![p1956](https://cdn.v2ex.com/gravatar/1f0a265b03b624383521ac28e7eb03aa?s=48&d=retro) |
|
2
p1956 2022-12-09 14:22:56 +08:00
|