这是我项目中的代码:
<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>
当我在textarea中键入内容并在文本中有链接时按空格键,代码将链接converted_url
中的url。
我想知道如何仅在可能的情况下在文本区域中显示链接。
如果没有,我该怎么做以键入文本并将链接显示在一个地方。
答案 0 :(得分:0)
您无法在文本区域中显示标签。因此,您可以改用div contenteditable
。在jsfiddle.net
基本上,这些函数仅替换div中html源代码中标记外部的链接,然后替换文本末尾的光标。
祝你好运。