<script type="text/ecmascript">
var key = "baidu", nkey = "<b>baidu<\/b>";
var pattern = new RegExp("(<a(?:\"[^\"]*\"|'[^']*'|[^\"'>]+)*>)([\\S\\s]+?)<\\/a>|" + key, "ig");
var str = 'baidu,baidu,baidu,google,baidu <a href="http://www.baidu.com"> baidu,baidu </a>baidu,baidu <a href="http://baidu.com"> baidu </a> baidubaidu <a href="cache.baidu.cn"> www.baidu.com </a>'
alert(str.replace(pattern, function (a, b, c) {
if (b && c) {
return b + c.replace(new RegExp(key, "ig"), nkey);
} else {
return nkey;
}
}));
</script>