この php スクリプトを使用して、wordpress の投稿から外部リンク (内部リンクではなく) を削除しています。
if ( ! preg_match_all( "/(<a.*>)(.*)(<\/a>)/ismU", $content, $outbound_links, PREG_SET_ORDER ) ) {
return $content;
}
foreach ( $outbound_links as $key => $value ) {
preg_match( "/href\s*=\s*[\'|\"]\s*(.*)\s*[\'|\"]/i", $value[1], $href );
if ( ( substr( $href[1], 0, 7 ) != 'http://' && substr( $href[1], 0, 8 ) != 'https://' ) || substr( $href[1], 0, strlen( get_bloginfo( 'url' ) ) ) == get_bloginfo( 'url' ) ) {
unset( $outbound_links[ $key ] );
} else {
$content = str_replace( $outbound_links[ $key ][0], $outbound_links[ $key ][2], $content );
}
}
しかし、このスクリプトは 'a' タグを削除しますが、アンカー テキストは削除しません (たとえば、 に変換<a href="http://externalsite.com">external site</a>
されますが、アンカー テキストexternal site
も消去したいのですexternal site
。これまでのところ、このスクリプトを変更して目的を達成することに成功していません。ここで私?