<?php
$str = "word <a href=\"word\">word</word>word word";
$str = preg_replace("/word(?!([^<]+)?>)/i","repl",$str);
echo $str;
# repl <word word="word">repl</word>
?>
ソース: http://pureform.wordpress.com/2008/01/04/matching-a-word-characters-outside-of-html-tags/
残念ながら、私のプロジェクトには、Java でのみ使用可能なセマンティック ライブラリが必要です...
// ありがとうセルソ