Прежде всего, я должен согласиться с людьми, которые уже говорили, что регулярные выражения не были подходящим инструментом для HTML.
Тем не менее, если то, что вы хотите сделать, не сложнее, чем замена любого и всех вхождений
<a href="something.tld">foo</a>
с
foo
если что-то не является вашим доменом, то это должно сработать
preg_replace( '/<a href="http:\/\/(?!mysite.com)(.*?)>(.*?)<\/a>/',
'$2',
$mystring );
где $ mystring - это строка, которую вы хотите изменить. Тем не менее, здесь используются регулярные выражения регулярных выражений, что является довольно хорошей раздачей того, что это не предназначалось для регулярных выражений.
НТН