55. HTML字符串中高亮关键字

JavaScript算法
觉得这个题有帮助吗?

中等难度  -通过 / -执行

假设你在实现一个搜索建议。

当输入关键词的时候,你需要在建议中高亮关键词,你如何做到?

简单起见,请实现一个函数highlightKeywords(html:string, keywords: string[]),这个函数接受一段HTML字符串,然后用<em> 高亮关键词。

这是一个例子。

highlightKeywords(
  'Hello FrontEnd Lovers', 
  ['Hello', 'Front', 'JavaScript']
)
// '<em>Hello</em> <em>Front</em>End Lovers'

注意你需要使用最少的<em>,避免重复添加。

highlightKeywords(
  'Hello FrontEnd Lovers', 
  ['Front', 'End', 'JavaScript']
)
// 'Hello <em>FrontEnd</em> Lovers'

highlightKeywords(
  'Hello FrontEnd Lovers', 
  ['Front', 'FrontEnd', 'JavaScript']
)
// 'Hello <em>FrontEnd</em> Lovers'

注意空格需要被排除在外。

争取15分钟以内搞定这个问题

讨论(22)