Tengo algunas cadenas con #palabras prefijadas.
Por ejemplo:
Comentario 1: Soy una persona #inteligente.
Comentario 2: Me encanta #codificar cosas nuevas.
Comentario 3: Tengo un #nuevoconcepto.
Quiero que encuentre los #elementos en estas cadenas, lo que estoy haciendo con la sección a continuación.
var result = $.grep(comment.split(' '), function(item) { var hashWords = /^#/.test(item); return hashWords; });Obtendré cada #palabras de los comentarios anteriores con el código anterior
#inteligente
#código
#nuevo
Pero quería que se reemplazara por enlaces en los que se puede hacer clic.
Comentario 1: Soy una persona #inteligente .
Comentario 2: Me encanta #codificar cosas nuevas.
Comentario 3: Tengo un #nuevoconcepto .
Ayúdenme a encontrar una solución para esto, ya que soy nuevo en jquery.
Considera lo siguiente.
$(function() { function replacePrefix(target) { var regex = /\#(\w+)/gmi; var subst = `<a href='https://www.google.com?hashtag=$1'>#$1</a>`; var myText; $(target).each(function(i, el) { myText = $(el).html(); $(el).html(myText.replace(regex, subst)); }); } replacePrefix(".comment"); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div> <div class="comment">I am a #smart person.</div> <div class="comment">I love to #code new things.</div> <div class="comment">I have a #new concept.</div> </div> Pase un Selector o un Elemento e iterará sobre cada uno, buscando prefijos, #new por ejemplo, y los reemplazará con el HTML:
<a href='https://www.google.com?hashtag=new'>#new</a>