【问题标题】:How to find a word with HTML tags inside如何在里面找到带有 HTML 标签的单词
【发布时间】:2022-01-26 09:41:26
【问题描述】:

我正在尝试在 typescript (Angular 12) 上解决这个问题:

我想在下面的字符串中找到tempor这个词(tempor只是一个例子,可以是任何词):

<p>Lorem ipsum dolor sit <em>amet</em>, consectetur adipiscing elit, sed do eiusmod te<b>m</b>por incididunt ut labore et dolore magna aliqua.</p>

问题是word里面可以包含任何html代码,例如:te&lt;b&gt;m&lt;/b&gt;por&lt;em&gt;tem&lt;/em&gt;portem&lt;a&gt;por&lt;a/&gt;等。

另外,我不能使用正则表达式,因为一个单词里面可以包含任何html,我们认为用户可以输入的单词是无限的,因此不可能使用正则表达式作为模式。

我一直在寻找一些 npm,但找不到任何可以解决问题的东西。

总之,我需要找到不带html标签的词,但我还需要保留html在表示样式、一些业务规则等方面。

有谁知道如何解决它,或者你知道可以帮助我的 npm 吗?

提前致谢。

【问题讨论】:

  • 这对您有帮助吗? stackoverflow.com/questions/41866933/…
  • 不清楚你想对搜索做什么。只是确认单词存在?提取单词和html?或其他?还请展示您尝试过的内容
  • 我需要知道这个词是否存在以及它存在的位置,保留 html。我尝试使用正则表达式进行搜索,但这是不可能的,因为用户可以搜索任何单词。
  • 保留 html 是什么意思?你还没有解释你想对结果做什么

标签: javascript angular typescript


【解决方案1】:

element.textContent 只为您提供不带标签的文本。你可以找到你想要的字符串:element.textContent.indexOf('tempor') !== -1

【讨论】:

    【解决方案2】:

    你可以试试这个方法。

    let text = document.querySelector('p')?.textContent;
    console.log(text?.search('tempor'));//72
    
    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多