次の関数を使用して、Web サイトのすべてのリンクに _blank を追加しています。
function targetBlank($text) {
$return = str_replace('<a', '<a target="_blank"', $text);
return $return;
}
すべてのリンクではなく、(自分のドメインではなく) 外部リンクにのみこの機能を適用するソリューションを探しています。
次の関数を使用して、Web サイトのすべてのリンクに _blank を追加しています。
function targetBlank($text) {
$return = str_replace('<a', '<a target="_blank"', $text);
return $return;
}
すべてのリンクではなく、(自分のドメインではなく) 外部リンクにのみこの機能を適用するソリューションを探しています。
に依存する試みられた解決策は次の$_SERVER['HTTP_HOST']
とおりです。
function targetBlank($text) {
if( strpos( $text, $_SERVER['HTTP_HOST'] ) === false )
return str_replace('<a', '<a target="_blank"', $text);
return $text;
}
テストされていませんが、動作するはずです。@meager は、そのタグに既にターゲットが定義されている場合、不正な形式のアンカー タグが生成されるという点でも正しいですが、渡すだけの html 文字列でのみ動作する<abbr>
ため、渡すだけであれば安全です。アンカー タグを含む文字列。