易语言利用TX文档来实现文本解析(可用于云更新等功能)实现解决办法,下面是提供源码,大家复制粘贴即可。 .版本 2 .子程序 取TX文本内容, 文本型 .参数 链接, 文本型 .局部变量 临时文本, 文本型 .局部变量 临时文本2, 文本型 .局部变量 text, 文本型 .局部变量 返回文本, 文本型 .局部变量 json, 类_json .局部变量 是否可以, 逻辑型 .局部变量 int, 整数型 .局部变量 去除数量, 整数型 .局部变量 x, 整数型 .局部变量 i, 整数型 .局部变量 错误原因, JsonError .局部变量 返回的json文本, 文本型 返回的json文本 = 编码_utf8到gb2312 (子文本替换 (到文本 (网页_访问 (“<a href="https://docs.qq.com/dop-api/opendoc?id=" target="_blank">https://docs.qq.com/dop-api/opendoc?id=</a>” + 文本_取右边 (链接, “/”) + “&normal=0&t=” + 时间_取现行时间戳 (假), 0, , , , “User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64)”)), 到文本 ({ 13 }), 到文本 ({ 10 }), , , 真)) .如果 (寻找文本 (返回的json文本, “attribs”, , 假) = 1) 临时文本 = 子文本替换 (返回的json文本, “attribs”, “”, , 1, 真) + 到文本 ({ 10 }) + “attribs” ' 防止attribs在第一位 x = 7 .否则 临时文本 = 返回的json文本 .如果结束 临时文本2 = 临时文本 .判断循环首 (取反 (是否可以)) .如果真 (文本_取出现次数 (临时文本2, “text”) = -1) 跳出循环 () .如果真结束 text = 子文本替换 (文本_取出中间文本 (临时文本2, “text”, “text”), “ ”, “”, , , 真) 临时文本2 = 子文本替换 (临时文本2, “text”, “w”, , 1, 真) 去除数量 = 去除数量 + 3 ' 调试输出 (到字节集 (text), 到字节集 (“”), 到字节集 (“ ”), 到字节集 (#换行符)) .如果真 (到字节集 (text) = { 10 }) int = 寻找文本 (临时文本2, “text”, , 假) + 4 ' 将第二给text过掉 .判断循环首 (取文本中间 (临时文本2, int, 1) ≠ “{”) int = int + 1 ' 调试输出 (取文本中间 (临时文本2, int, 1)) .判断循环尾 () 是否可以 = 真 int = int + 去除数量 + x .如果真结束 .判断循环尾 () 临时文本2 = 临时文本 ' 调试输出 (取文本中间 (返回的json文本, int, 1)) 去除数量 = 0 .计次循环首 (文本_取出现次数 (返回的json文本, “attribs”), ) ' 防止多个attribs ' 调试输出 (临时文本2) i = 寻找文本 (临时文本2, “attribs”, , 假) - 2 ' 调试输出 (取文本中间 (临时文本2, i, 7)) .如果真 (取文本中间 (临时文本2, i, 1) = “}” 或 取文本中间 (临时文本2, i - 1, 1) = “}”) i = i + 去除数量 + x .如果真 (取文本中间 (临时文本2, i - 1, 1) = “}”) i = i - 1 .如果真结束 临时文本 = 取文本中间 (返回的json文本, int, i - int + 1) 跳出循环 () .如果真结束 临时文本2 = 子文本替换 (临时文本2, “attribs”, “w”, , 1, 真) 去除数量 = 去除数量 + 6 .计次循环尾 () ' 调试输出 (临时文本) ' 临时文本 = 子文本替换 (临时文本, “\”, “/”, , , 真) json.解析 (子文本替换 (临时文本, “\r\u000f\u001e\u001e\u001e\u001e\u001e\u001e\u001e”, “”, , , 真), 真, 错误原因) 返回文本 = json.取通用属性 (“commands[0].mutations[0].s”) .如果真 (返回文本 = “”) 输出调试文本 (返回的json文本) .如果真结束 返回文本 = 子文本替换 (返回文本, 到文本 ({ 13 }), #换行符, , , 真) 返回 (返回文本) 这就是易语言利用TX文档来实现文本解析(可用于云更新等功能)实现解决办法所有内容了。 |