Suchen und markieren Sie Zeichenfolgen in Textabsätzen
P粉253800312
P粉253800312 2023-08-28 20:53:07
0
2
547
<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粉253800312
P粉253800312

Antworte allen(2)
P粉670838735

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

P粉833546953

试试这个:

//获取元素的内部内容
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>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage