найти ссылку в JavaScript

1

это код в моем проекте:

<textarea id="url" ></textarea>
<script type="text/javascript">
function convert()
{
  var text=document.getElementById("url").value;
  var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
  var text1=text.replace(exp, "<a href='$1'>$1</a>");
  var exp2 =/(^|[^\/])(www\.[\S]+(\b|$))/gim;
  document.getElementById("converted_url").innerHTML=text1.replace(exp2, '$1<a target="_blank" href="http://$2">$2</a>');
}
$(document).ready(function(){
   $("#url").keypress(function( event ) {
      $("#converted_url").html($(this).val());
         if ( event.which == 32 ) {
            convert();
         }
  }).keyup(function(){
     $("#converted_url").html($(this).val());
  }) ;
 });
</script>
<p id="converted_url" ></p>

Когда я набираю текст в текстовом поле и нажимаю пробел, если есть ссылка в тексте, код свяжет url в converted_url.

Я хочу знать, как показывать ссылки в textarea, только если это возможно.

Если нет, что я могу сделать, чтобы набрать текст и показать ссылку в одном месте.

Теги:
hyperlink

1 ответ

0

Вы не можете показывать теги в textarea. Таким образом, вы можете использовать div contenteditable. Попробуйте следующий код на jsfiddle.net

В основном функции заменяют только ссылку за пределами тегов в источнике html из div, а затем заменяют курсор в конце текста.

Удачи.

  • 0
    это хорошо, но есть проблема, когда я дважды нажимаю пробел, он переходит на новую строку. как это можно исправить ??
  • 0
    Я только что обновил код, попробуйте сейчас! jsfiddle.net/alexdant91/xfbwtgk9/32
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню