Тут я делал попытки поиска текста в произвольном HTML-коде: 
Поиск текста на странице
Вот к примеру оборачивание в ссылку (кусок кода из проекта):
…
if ($Range.standardsCompliant) {
	var link = this.cloneNode(false);
	try {
		range.surroundContents(link);
	} catch (error) {
		try {
			var fragment = range.extractContents();
			range.insertNode(link);
			link.appendChild(fragment);
		} catch (error) {
			range.insertNode(link);
		}
	}
} else {
	range.execCommand("CreateLink", false, this.href);
	//range.pasteHTML('<a href="' + this.href + '">' + $Range.stringify(range) + '</a>');
}
…
Подробнее здесь: 
http://fastcoder.org/articles/?aid=609