搜索

首页  >  问答  >  正文

在文本段落中查找并标记字符串

<p>我有一个段落,例如:</p> <pre class="brush:html;toolbar:false;"><p> Lorem ipsum <b>amet, consetetur sadipscing elitr, sed diam</b> dolor sit nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, <i>sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum</i>. Stet clita kasd gubergren, no sea takimata sanctus </p> </pre> <p>还有一个类似于<code>"Lorem ipsum amet, consetetur sadipscing elitr"</code>的字符串。 我想用Javascript在原始段落中给这个特定的字符串添加下划线。</p> <p>我认为我需要插入一个带有类/ID的span(-> CSS: text-decoration:underline),但我不知道如何确定段落内的正确索引(在字符串搜索中忽略任何<code><b></code>,<code><i></code>等,但包括它们与span的索引相关)。</p> <p>谢谢任何建议。</p>
P粉253800312P粉253800312454 天前527

全部回复(2)我来回复

  • P粉670838735

    P粉6708387352023-08-29 15:33:56

    const text = YourString.replace(/\bMySearch\b/sg, '$1');

    回复
    0
  • P粉833546953

    P粉8335469532023-08-29 13:52:37

    试试这个:

    //获取元素的内部内容
    var text = document.getElementById("text").innerHTML;
    
    //将要替换的文本用<u>标签包围起来
    var newtext = text.replace(/Lorem ipsum <b>amet, consetetur sadipscing elitr/g, "<u>Lorem ipsum <b>amet, consetetur sadipscing elitr</u>");
    
    //将新的下划线文本放回元素中
    document.getElementById("text").innerHTML = newtext;
    <p id="text">
    Lorem ipsum <b>amet, consetetur sadipscing elitr, sed diam</b> dolor sit nonumy eirmod  tempor 
    invidunt ut labore et dolore magna aliquyam erat, <i>sed diam voluptua. At vero eos et accusam
    et justo duo dolores et ea rebum</i>. Stet clita kasd gubergren, no sea takimata sanctus
    </p>

    回复
    0
  • 取消回复