我有一个 HTML 字符串,我正在使用 interweave 解析它。如果有匹配的字符/字符串,我想向 html 字符串添加一个 span 标签

I have an HTML string which i am parsing using interweave. I want to add a span tag to the html string if there is a matching character/string

提问人:Mohit Sharma 提问时间:12/30/2022 最后编辑:Mohit Sharma 更新时间:1/2/2023 访问量:99

问:

我正在实现一个需要突出显示搜索字符串的功能。 该功能适用于“作业”响应,但不适用于“描述”


Data.Job='Diver' Data.Description="'<div>Diver</div><br><table><tr>Deep Ocean Diver</tr></table>'"


highlightSearchedString (text,highlight){
if(text && highlight) {
      const parts = text.split(new RegExp(`(${highlight})`, 'gi'));
      const  node = <span>
        {
          parts.map((part, i) => <span key={i} style={part.toLowerCase() === highlight.toLowerCase() ? {backgroundColor: "yellow" } : {}}>{part}</span>)
        }
      </span>
      return node;
    }
    return text;
}
highlightSearchedString 适用于 Data.Job,但不适用于 Data.Description。我怎样才能让它也适用于 Data.Description? 这就是我的 React JS 文件的样子 注意:我希望通过不干扰其他 HTML 标签并忽略它们来将 span 标签附加到描述中。所以我的 Data.Description 应该看起来像Data.Description="'<div><span={backgroundColor: "yellow"}>Diver</span></div><br><table><tr>Deep Ocean <span style={backgroundColor: "yellow"}>Div</span>er</tr></table>'"

<div>{highlightSearchedString((Data.Job,'DIV')} </div> //working
<Interweave content={highlightSearchedString(Data.description,'DIV')}></Interweave> //not working 

javascript reactjs html 解析

评论


答: 暂无答案