Html格式的富文本转换成Unity可识别的富文本

Html格式的富文本转换成Unity可识别的富文本

需求:做游戏公告的时候,需要在java端使用富文本,java端的格式是以"<p>"段落内容..."</p>"进行分段,<span ....> 正文内容.... </sapn>进行富文本编辑,当后台将这些直接传给unity的时候,unity需要将其转成自己可识别的富文本。
以下是完整的lua代码,调用HtmlTool:HtmlToLua(),将需要转换的字符串传进,返回值是已经替换好的字符串。目前是替换了颜色和字号,需要改的可以在HtmlTool:Justgsub()方法中进行修改。

--[[
Author: 石英男
Github: https://gitee.com/anshun_xun_yu_network/doudizhu3d_client.git
Date: 2021-07-08 10:18:25
LastEditors: 石英男
LastEditTime: 2021-07-09 17:54:07
Description: 
--]]
local HtmlTool = {
   }

--以P标签进行分段存储的字符串
local pTab = {
   }

local spanIndexTab = {
   }

local SpecialSymbolsTab = {
   
    {
   specialSymbols = "%&lt;", rightStr = "<"},
    {
   specialSymbols = "%&gt;", rightStr = ">"},
    {
   specialSymbols = "%&amp;", rightStr = "&"},
    {
   specialSymbols = "%&quot;", rightStr = "“"},
    {
   specialSymbols = "%&reg;", rightStr = "®"},
    {
   specialSymbols = "%&copy;", rightStr = "©"},
    {
   specialSymbols = "%&trade;", rightStr = "™"},
    {
   specialSymbols = "<br>", rightStr = "\n"}
    
}
local specialSymbolsIndex = 1
--[[
@description: 将传入的html格式的语言转换成unity可识别的富文本string
@param {tempStr 传入的string 值}
@return {*}
--]]
function HtmlTool:HtmlToLua(tempStr)
    local result = ""
    pTab = {
   }
    self:SubStrByPFlag(tempStr)
    if next(pTab) == nil then
        return tempStr
    end
    for index, value in ipairs(pTab) do
        result = string.gsub(result .. self:Justgsub(value), "<p>", "")
        result = string.gsub(result, "</p>", "\n")
        result = self:GSubSpecialSymbols(result)
    end

    return result
end
--[[
@description: 以P标签进行分段
@param {*}
@return {*}
--]]
function HtmlTool:SubStrByPFlag(tempStr)
    if string.len(tempStr) <= 0 then
        
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值