Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

159
Views
¿Cómo reemplazar expresiones coincidentes sin interrumpir la entrada del usuario en contenteditable?

Estoy buscando coincidencias de expresiones regulares específicas en un texto en un div contenteditable . Encuentro las coincidencias correctas:

 <script> const regex = /my_regex/g; let content = $("#contenteditable").text(); let matches = content.match(regex); if (matches) { matches.forEach((match, groupIndex) => { // it finds the correct matches. }); } </script>

Quiero resaltar las coincidencias en el texto envolviendo cada coincidencia en un elemento <span> con algo de estilo

Al principio intenté usar content.replace(//..) y luego document.getElementById('contenteditable').textContent = content; u otros métodos que usan innerHTML , pero se dio cuenta de que simplemente vuelve a cargar todo y no permite que el usuario siga escribiendo en el div contenteditable .

Entonces, creo que la única forma de hacerlo es obtener la posición de cada coincidencia y reemplazar cada ocurrencia por sí sola.

Así que encontré esta publicación: obtenga el inicio y el final de un rango en relación con su contenedor principal

Pero incluso si tengo la posición de intercalación para cada partido, ¿cómo puedo reemplazar solo eso? ¿Hay alguna forma menos complicada de reemplazar las coincidencias "sobre la marcha" (mientras el usuario sigue escribiendo sin interrumpirlo), o tiene que hacerse de estas formas complicadas?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!