
字符串:
$str = "两个人的小森林有*2*个热点*爆*词你还未看(217054)"; 按进行拆分,两个xx*中间的标记为 type=2,其他标记 type=1 ,期望结果如下:
[ { "type": 1, "text": "两个人的小森林有" }, { "type": 2, "text": "2", }, { "type": 1, "text": "个热点", }, { "type": 2, "text": "爆", }, { "type": 1, "text": "词你还未看(217054)" } ] 求解,php 如何实现?
1 eason1874 2022-09-19 18:44:15 +08:00 ?又来问,差不多的问题 |
2 wdwwtzy 2022-09-19 19:00:15 +08:00 如果你问的是这个问题的话,那不是很简单 假如你*是成对出现的话,用* split 之后,type=2 永远会在奇数索引出现。 但是我猜你想问的不是这个问题。 |
3 huangzhe8263 2022-09-19 19:03:24 +08:00 不不不,看看 LZ 的发帖记录,问的就是这个问题。 建议还是先去学一下基本的知识再来问吧。 |
4 bytesfold 2022-09-19 19:11:29 +08:00 from pprint import pprint data = r"两个人的小森林有*2*个热点*爆*词你还未看(217054)" pprint([{'type': 1 if len(i) != 1 else 2, 'text': i} for i in data.split("*")]) |
5 bytesfold 2022-09-19 19:14:28 +08:00 打扰了,PHP.. |
6 laoyur 2022-09-19 19:29:54 +08:00 regex 找出被星星夹着的部分的索引,然后所有分组都能抽取出来了 话说第一眼扫过你的原文,还以为是被和谐过的语句呢 |