<?php
$_SERVER['HTTP_HOST'] = "ideone.com"; // fake it, we don't need it!
$output = '<a href="https://google.com">External Link</a> | <a href="#anchor">Anchor</a> | <a href="http://i...content-available-to-author-only...e.com">Internal Link</a>';
// start
$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$doc->loadHTML($output);
$links = $doc->getElementsByTagName('a');
foreach ($links as $item) {
$href = parse_url($item->getAttribute('href'), PHP_URL_HOST
); if (!empty($href) && $href != $_SERVER['HTTP_HOST']){ $item->setAttribute('target','_blank');
}
}
$output = $doc->saveHTML();
echo($output);
PD9waHAKJF9TRVJWRVJbJ0hUVFBfSE9TVCddID0gImlkZW9uZS5jb20iOyAvLyBmYWtlIGl0LCB3ZSBkb24ndCBuZWVkIGl0IQokb3V0cHV0ID0gJzxhIGhyZWY9Imh0dHBzOi8vZ29vZ2xlLmNvbSI+RXh0ZXJuYWwgTGluazwvYT4gfCA8YSBocmVmPSIjYW5jaG9yIj5BbmNob3I8L2E+IHwgPGEgaHJlZj0iaHR0cDovL2kuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUuY29tIj5JbnRlcm5hbCBMaW5rPC9hPic7CgovLyBzdGFydAokZG9jID0gbmV3IERPTURvY3VtZW50KCk7CiRkb2MtPnByZXNlcnZlV2hpdGVTcGFjZSA9IGZhbHNlOwoKJGRvYy0+bG9hZEhUTUwoJG91dHB1dCk7CgokbGlua3MgPSAkZG9jLT5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYScpOwpmb3JlYWNoICgkbGlua3MgYXMgJGl0ZW0pIHsKCSRocmVmID0gcGFyc2VfdXJsKCRpdGVtLT5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSwgUEhQX1VSTF9IT1NUKTsKCWlmICghZW1wdHkoJGhyZWYpICYmICRocmVmICE9ICRfU0VSVkVSWydIVFRQX0hPU1QnXSl7CgkJJGl0ZW0tPnNldEF0dHJpYnV0ZSgndGFyZ2V0JywnX2JsYW5rJyk7Cgl9Cn0KCgokb3V0cHV0ID0gJGRvYy0+c2F2ZUhUTUwoKTsKCgplY2hvKCRvdXRwdXQpOw==