HTML 文字列を含む変数に対して str_replace を実行しています。目的は、すべての a-href に "data-rel="external" target="_blank"" を追加することです。
$html = str_replace("<a href=", "<a data-rel=\"external\" target=\"_blank\" href=", $html);
正常に動作しますが、ここに課題があります。元の a-href が a-href="mailto:[..] である場合、"data-rel="external" target="_system"" を追加する必要があります。
例:
<a href="http://apache.org">Link 1</a>
なる必要があります:
<a data-rel="external" target="_blank" href="http://apache.org">Link 1</a>
と
<a href="mailto:post@apache.org">Link 2</a>
なる必要があります:
<a data-rel="external" target="_system" href="mailto:post@apache.org">Link 2</a>
これを解決する方法はありますか?