на стороне клиент - это и было про реалтам
но здесь на выводе = более 1го пробела, табуляция или перенос строки - приводятся к 1 пробелу = после onblur textarea
<a onclick="insert(this)" href="#">Вася</a>
<a onclick="insert(this)" href="#">Петя</a>
<a onclick="insert(this)" href="#">Петросян</a>
<a onclick="insert(this)" href="#">Обама</a><br />
<textarea onblur="checkDublicate(this)" id="text" cols="50" rows="10"></textarea>
<script type="text/javascript">
function insert(a){
var ta = document.getElementById('text');
var text = a.innerHTML;
ta.value += text+' ';
return false;
}
function checkDublicate(textarea){
var text = textarea.value;
var arr = text.split(/\s+?|\t|\r/);
var newtext = [];
for(key in arr){
newtext[arr[key]] = arr[key];
}
var endtext = '';
for(k in newtext){
endtext +=newtext[k]+' ';
}
console.log(arr);
textarea.value = endtext;
}
</script>
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker