Ben bağlantılar tıklanabilir yapmak için bu işlevi kullanın:
function clickable($text) {
$text = preg_replace("/(https?|ftps?|mailto):\/\/([-\w\p{L}\.]+)+(:\d+)?(\/([\w\p{L}#-;+-\/_\.]*(\?\S+)?)?)?/u", '<a target="_blank" href="$0">$0</a>', $text);
return $text;
}
Bu çalışıyor ama küçük bir sorun var. $ Metin değişkeni böyle bir dize içeriyorsa:
Bazı metin
i.e. link, line break(s) and Bazı metin, I get incorrect result. Instead of this:
<a target="_blank" href="http://example.com">http://example.com</a>
o olur:
<a target="_blank" href="http://example.com<br">http://example.com</a>
/>
Bazı metin
İşte benim sitede metin görüntülemek nasıl:
<?php echo clickable(nl2br($db['content'])); ?>
nl2br fonksiyon tüm çizgi <br /> etiketleri html içine kırar ama bu işlevi url bu etiketi tutmak gerektiğini düşünüyor dönüştürür ...
Ben açık değilim umarım :)
Herhangi bir fikir?