suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Suchen und markieren Sie Zeichenfolgen in Textabsätzen

<p>Ich habe einen Absatz, zum Beispiel: </p> <pre class="brush:html;toolbar:false;"><p> Lorem ipsum <b>amet, consetetur sadipscing elitr, sed diam</b> Invidunt ut labore et dolore magna aliquyam erat, <i>sed diam voluptua et justo duo dolores et ea rebum</i>. Stet clita kasd gubergren, no sea takimata sanctus </p> </pre> <p>Es gibt auch eine Zeichenfolge ähnlich wie <code>"Lorem ipsum amet, consetetur sadipscing elitr"</code>. Ich möchte diese spezielle Zeichenfolge im Originalabsatz mit Javascript unterstreichen. </p> <p> Ich glaube, ich muss einen Span mit einer Klasse/ID einfügen (-> CSS: text-decoration:underline), aber ich weiß nicht, wie ich den richtigen Index innerhalb des Absatzes ermitteln kann (alle < in ignorieren). eine Zeichenfolgensuche ;code><b></code>, <code><i></code> usw., aber einschließlich dieser relativ zum Index des Spans). </p> <p>Vielen Dank für alle Vorschläge. </p>
P粉253800312P粉253800312486 Tage vor548

Antworte allen(2)Ich werde antworten

  • P粉670838735

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

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

    Antwort
    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>

    Antwort
    0
  • StornierenAntwort