@wojtiku, IE :
javascript:(function() {
var sel, range, a;
if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
range = sel.getRangeAt(0);
a = document.createElement("a");
a.href = window.location.href;
a.appendChild(document.createTextNode("" + sel));
range.deleteContents();
range.insertNode(a);
}
} else if (document.selection && document.selection.type == "Text") {
range = document.selection.createRange();
a = document.createElement("a");
a.href = window.location.href;
a.appendChild(document.createTextNode(range.text));
range.pasteHTML(a.outerHTML);
}
})();