JavaScript - Etiquetas HTML en foros

 
Vista:
Imágen de perfil de JetLagFox

Etiquetas HTML en foros

Publicado por JetLagFox (8 intervenciones) el 08/07/2017 17:15:54
Me gustaría saber qué método se usa en foros para que por ejemplo, añadiendo una URL entre las etiquetas , se traduzca a código HTML, por ejemplo: <a href="google.com">Google</a>. Personalmente uso la siguiente forma. Personalmente uso un método que funciona pero el texto donde escribe el usuario queda muy sucio.

Para el caso de la URL, si por ejemplo selecciono la URL de Google www.google.com y pulso sobre el botón que tengo creado de enlace, el texto en el testarea se mostraría así (antes de introducirlo a la base de datos modifico los caracteres [ y ] por < y >:

1
[a class="enlace_foro" href="www.google.com" rel="nofollow"]www.google.com[/a]
El código HTML del botón:

1
2
3
<button type="button" name="url" accesskey="w" onclick="getSelURL('[url]','[/url]');" title="URL: ='http://www.ejemplo.com' target='_blank' class='editor_url' rel='nofollow'>http://www.ejemplo.com o ='http://www.ejemplo.com' target='_blank' class='editor_url' rel='nofollow'>texto (Alt+W)">
   <i class="fa fa-link fa-fw"></i>
</button>
JS que añade los elementos de la URL:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
    function getSelURL() // javascript
    {
 
        // obtain the object reference for the <textarea>
        var txtarea = document.getElementById("txt1");
        // obtain the index of the first selected character
        var start = txtarea.selectionStart;
        // obtain the index of the last selected character
        var finish = txtarea.selectionEnd;
        // obtain the selected text
        var sel = txtarea.value.substring(start, finish);
        // do something with the selected content
        var sel = "[a class=\"enlace_foro\" href=\""+sel+"\" rel=\"nofollow\"]"+sel+"[/a]";
        // nos devolvería todo
        txtarea.value = txtarea.value.substring(0, start)+sel+txtarea.value.substring(finish, txtarea.length);
    }
    </script>
Pero me gustaría que se pudiese mostrar de esta forma:

[url]www.google.com[/url] puesto que es muchísimo más legible y más visual para gente que no sabe de programación.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Etiquetas HTML en foros

Publicado por xve (2100 intervenciones) el 09/07/2017 10:16:14
Según veo, cuando llamas a la función getSelURL, pasas dos parámetros, pero en la función no los esperas... entiendo que este código no te funciona correctamente, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar