富文本文案存储翻译方案

news2025/2/24 23:03:37

一般富文本的功能会有些样式,存储到数据库表里面之后会带上一大堆的标签和样式,底层如果要对这些进行翻译的话会变得非常困难,因为我们要翻译的只是里面的中文内容,这就面临第一个问题,把中文取出来,如果把这个当成一道题,大致会有集中方案:
1、遍历整个内容,判断连续的中文文段,收集起来,
2、利用正则表达式, 获取出特定标签内的内容。

以上两种方式都会面临一个问题,内容取不全,翻译就会不完整,因为不确定正文是否包含正则内的内容。
还有就是代码不好写,要处理各种边界逻辑。
我有一种办法,代码仅需十几行,

首先富文本内容都有一个特点,就是前端能转换成html解析,所以,我们把内容转换成我们能看到的结构,在代码中就是转换成html结构的对象,那什么工具能实现这种效果呢?
JSOUP
废话不多说:
在这里插入图片描述

转换成Document对象之后里面的标签都会被解析成该对象的节点,有个类型就是存储的正文内容:TextNode
拿到这个节点之后就能拿到文案内容了。
一个递归即可解决
在这里插入图片描述

这样之后termList就是整个富文本中的非标签内容,将其翻译之后在替换回来就完美解决了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1087992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(echarts)饼图封装相关总结及使用

(echarts)饼图封装相关总结 一、封装组件pieCharts.vue <template><div :id"id" :class"className" :style"{ height: height, width: width }" /> </template><script> import echarts from echarts import resize fr…

STM32Cube高效开发教程<基础篇>(三)----STM32CubeMX创建工程

声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。    本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。 一、新建项目 …

亚马逊频繁封号,跨境电商卖家如何应对?

相信各位同行都知道&#xff0c;自2021年起&#xff0c;亚马逊的扫号活动就从未间断&#xff0c;直到如今2023年的亚马逊&#xff0c;仍然是隔2周-几个月就有大规模的审核扫号&#xff0c;大批卖家店铺被封&#xff0c;亚马逊卖家人人自危&#xff0c;面对时间间隔短频率高的扫…

WordPress插件 WP-PostViews 汉化语言包

WP-PostViews汉化语言包 WP-PostViews是一款很受欢迎的文章浏览次数统计插件&#xff0c;记录每篇文章展示次数、根据展示次数显示历史最热或最衰的文章排行、展示范围可以是全部文章和页面&#xff0c;也可以是某些目录下的文章和页面。本文还介绍了一些隐藏的功能&#xff0…

【完美世界】石昊偷渡出境四人组产生分歧,云曦和石昊牵手,二人世界要开始了

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析完美世界。 转眼又到完美世界动漫更新日&#xff0c;现在第132集已经更新了了。而这一集看下来&#xff0c;很明显完美世界又进步了&#xff0c;不但剧情紧凑&#xff0c;高潮点也要来了。而这一集看下来信息量也很多&…

k8s 1.28版本二进制安装

本文目录 二进制安装Kubernetes&#xff08;k8s&#xff09;v1.28.0介绍1.环境1.0.环境准备1.Linux网卡没有eth0显示ens33或者其它&#xff08;以ens33为例&#xff09;方法一&#xff1a;修改网卡配置方法二&#xff1a;重新安装机器(本文为虚拟机) 2.克隆的虚拟机&#xff0c…

UE5 Texture2D数组资产BUG!!!

Texture2D数组资产中的元素资产更新后&#xff0c;并未被更新&#xff0c;读取的仍然是之前缓存的Texture2D&#xff0c;需要手动清除后再手动设置新的Texture2D&#xff0c;才能生效&#xff01;&#xff01;&#xff01; 说明&#xff1a;Texture2D数组资产中的后期参数高于…

vmware vsphere用户权限分级

组或用户创建 在“系统管理→Single Sign On→用户和组”中“用户”选项卡中的“域”下拉列表中选择vSphere.local&#xff0c;单击“添加用户”。 权限分配 “系统管理→访问控制→角色”中查看或分配权限。 分类 1、管理员&#xff1a;具有完全的权限&#xff1b; 2、只…

当多条折线数据渲染在一个echarts里,这些折线的x轴数据是不统一的,处理方法

文档中series可以写成[[x轴值&#xff0c;y轴值],[x轴值&#xff0c;y轴值],[x轴值&#xff0c;y轴值]] 这种形式&#xff0c; 如果写成这样那么x轴会以series数组第一个子数组的x轴值的范围来定义&#xff0c;所以大家可以在给series赋值之前排个序&#xff0c;将子数组最多的…

【特纳斯电子】基于STM32的商用厨房监控系统-实物设计

视频及资料链接&#xff1a;基于STM32的商用厨房监控系统-实物设计 - 电子校园网 (mcude.com) 编号&#xff1a; T0052203M-SW 设计简介&#xff1a; 本设计是基于STM32的商用厨房监控系统&#xff0c;主要实现以下功能&#xff1a; 1.通过OLED显示温度、烟雾浓度、燃气浓…

2023年中国云存储优势、产值及市场规模分析[图]

云存储是基于云计算建立起来的一个网络存储技术即与计算的存储部分&#xff0c;将网络中的不同设备通过应用程序连接起来&#xff0c;进行协同工作&#xff0c;对外提供数据存储和业务访问。 云存储优势 资料来源&#xff1a;共研产业咨询&#xff08;共研网&#xff09; 云存…

Kafka SASL认证授权(四)认证源码解析

Kafka SASL认证授权(四)认证源码解析。 官网地址:https://kafka.apache.org/ 一、认证流程 在了解kafka网络模型的基础上,了解它的认证流程: ApiVersionsRequest->SaslHandshakeRequest->a series of SASL client and server tokens corresponding to the mechani…

vue自定义指令directives

官网:https://cn.vuejs.org/v2/guide/custom-directive.html v-if等是内置的指令, 在这里研究自定义指令 局部自定义指令 在directives中定义,在一个组件中定义的,只能在这一个组件中使用 ; 定义命令: directives:{//自定义指令color,el是这个标签,binding是传入的值color:f…

SyntaxError: invalid character ‘:‘ (U+FF1A)问题解决

问题&#xff1a; SyntaxError: invalid character &#xff1a; (UFF1A) 原因及解决方法&#xff1a; 冒号输入的格式不对&#xff0c;冒号的输入为中文&#xff0c;改成英文即可。

[C++随想录] 模版进阶

模版进阶 模版中 class 与 typename非类型模版参数模版的分离编译模版的特化函数模版的特化类模板的特化1. 全特化2.偏特化 模版中 class 与 typename 一般情况下, 我们定义一个模版, 模版中的 class/ typename 的意义是一样的. 但是, 有一种情况除外&#x1f447;&#x1f44…

【Linux】 ps命令使用

作为一个后端的程序员&#xff0c;我们经常用到ps -ef | grep XXX 到底什么事ps呢。 下面我们一起学习一下吧、 ps &#xff08;英文全拼&#xff1a;process status&#xff09;命令用于显示当前进程的状态&#xff0c;类似于 windows 的任务管理器。 ps命令 -Linux手册页 …

云原生SIEM解决方案

云原生&#xff08;Cloud Native&#xff09;是一种基于云计算的软件开发和部署方法论&#xff0c;它强调将应用程序和服务设计为云环境下的原生应用&#xff0c;以实现高可用性、可扩展性和灵活性。 云原生的优势有哪些 高可用性&#xff1a;云原生可以实现应用程序的高可用…

易点易动RFID固定资产管理系统:实现固定资产快速准确盘点的利器

在现代企业管理中&#xff0c;固定资产的盘点是一项重要而繁琐的任务。传统的盘点方法往往耗时耗力&#xff0c;容易出现错误和遗漏&#xff0c;给企业带来不必要的麻烦和损失。为了解决这些问题&#xff0c;我们推出了易点易动RFID固定资产管理系统&#xff0c;它利用射频识别…

Plsql连接报Initialization Error:Could not initialize oci.dll

可能原因&#xff1a;本地plsql为32位。 目前本机中使用的是 instantclient_19_6&#xff0c;其中的oci.dll库为64位。 到Oracle官网下载 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载Instant Client for Microsoft Window…

JavaScript之正则表达式

详见MDN 正则表达式(RegExp) 正则表达式不是JS独有的内容&#xff0c;大部分语言都支持正则表达式 JS中正则表达式使用得不是那么多&#xff0c;我们可以尽量避免使用正则表达式 在JS中&#xff0c;正则表达式就是RegExp对象&#xff0c;RegExp 对象用于将文本与一个模式匹配 正…