Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用锚链接实时替换hashtag_Javascript_Jquery - Fatal编程技术网

Javascript 用锚链接实时替换hashtag

Javascript 用锚链接实时替换hashtag,javascript,jquery,Javascript,Jquery,我希望文本区域中的文本在键入时用锚链接替换哈希字符 something#somethingse somethingse它的实际代码是 有些事 但在文本区,我只想突出显示一些东西,因为我不希望它实际上有锚代码,就像twitter和fb那样 它是如何工作的 $('textarea')。在(“键控”,函数()上){ var str=$(this.val(); 如果(!str.match(/(http | ftp | https):\/\/[\w-]+(\.[\w-]+)([\w,@?^=%&;

我希望文本区域中的文本在键入时用锚链接替换哈希字符

something#somethingse somethingse它的实际代码是

有些事

但在文本区,我只想突出显示一些东西,因为我不希望它实际上有锚代码,就像twitter和fb那样

它是如何工作的

$('textarea')。在(“键控”,函数()上){
var str=$(this.val();
如果(!str.match(/(http | ftp | https):\/\/[\w-]+(\.[\w-]+)([\w,@?^=%&;:\/~++-]*[\w@?^=%&;\/~+-])?。([a-zA-Z0-9]+/g)){
如果(!str.match(/#)([a-zA-Z0-9+)#/g)){
str=str.替换(/#)([a-zA-Z0-9#]+)/g';
$('textarea').html(str)
}
}
});
.hashtag{
背景:#000;
颜色:#fff;

}
您需要做的是在透明文本区域下面有一个div,然后将文本区域中的文本复制到div中,并附加链接。如果将html标记的文本附加到文本区域,它将不会呈现,因为文本区域中的任何内容仅呈现为可编辑文本。

我用javascript编写它:

Html:

<textarea id="textArea" onkeyup="changeHash()"></textarea>

您无法使用简单的
来实现这一点,但因为它正在渲染回文本区域,锚链接将显示为其html标记,而不是链接
var outputString="";

function changeHash(){
var getObject= document.getElementById('textArea');
outputString =getObject.value.toString();
var checkTheLastChar = outputString.slice(-1);
if(checkTheLastChar=="#"){
 outputString = outputString.substring(0, outputString.length - 1);
 outputString += "⚓"; //Change it with anything you want
}
getObject.value = "";
getObject.value = outputString; 
}