это код в моем проекте:
<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, только если это возможно.
Если нет, что я могу сделать, чтобы набрать текст и показать ссылку в одном месте.
Вы не можете показывать теги в textarea. Таким образом, вы можете использовать div contenteditable
. Попробуйте следующий код на jsfiddle.net
В основном функции заменяют только ссылку за пределами тегов в источнике html из div, а затем заменяют курсор в конце текста.
Удачи.