匹配前一半内容

2022-12-09 14:08:47 +08:00
 p1956
txt 有 600000 字节左右,只需要前面 300000 字节,任何字符都可能出现,包括回车、换行

$txt = preg_replace('/(^[\s\S]{300000})[\s\S]*/','$1', $txt); 这段代码,字数小一点可以,加大后就不行,大概几万就不行了,300000 就更不行了
1193 次点击
所在节点    PHP
2 条回复
eason1874
2022-12-09 14:18:23 +08:00
提取前 30 万字节,为啥要用正则,这应该用截断吧

按字节截断用 substr ,按 UTF8 字符截断用 mb_substr
p1956
2022-12-09 14:22:56 +08:00
@eason1874 可以了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901330

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX