bir metinde önünde # işareti bulunan kelimelere link vermek istiyorum, php ile nasıl yapabilirim kısaca?
örneğin;
$metin = "resim yapmayı seviyorum #resmim #sanat";
bu metinden şu sonucu almak istiyorum:
<a href="tag/resmim">resmim</a>
<a href="tag/sanat">sanat</a>
teşekkürler...
otomatik linkleme?
5
●388
- 17-08-2014, 09:56:51php regex ifadelere göz atarsan daha verimli olur sizin için.gzou adlı üyeden alıntı: mesajı görüntüle
<?php $metin = "resim yapmayı seviyorum #resmim #sanat"; echo preg_replace('/#(.*) /i','<a href="tag/{$1}">{$1}<a> ',$metin); ?>bu sadece ilk tag için link verir. # e göre diziye atıp aynı mantığı kulllandığın takdirde bütün taglara link verilmiş olur. - 17-08-2014, 11:02:00kendimi düzelteyim hocam.sehzadem adlı üyeden alıntı: mesajı görüntüle
<?php $metin = "resim yapmayı seviyorum #resmim #sanat"; echo preg_replace('/#([a-zA-ZÇŞĞÜÖİçşğüöı]+)/i','<a href="tag/$1">$1<a>',$metin); ?>bu şekilde kullanırsan döngüye gerek kalmaz. tümü değişir. linklemek istediğin kısımlarda sayı vs varsa regex şartını ona göre değiştirin. iyi çalışmalar - 17-08-2014, 11:16:10evet o şekilde kullanmayı keşfetmiştim bende ama türkçe karakterde sorun oluyordu, o harfleri ve sayılarıda ekledim güzel oldu, teşekkürler.sehzadem adlı üyeden alıntı: mesajı görüntüle
edit: japon, rus, arap alfabelerde bu çalışmıyordu... bende ([a-zA-ZÇŞĞÜÖİçşğüöı]+) yerine (S+) kullandım global olarak çalıştı... - 17-08-2014, 19:14:43Bunu php ile değil de js ile de yapabilirsiniz. Yani veriyi ham haliyle tutup, göstereceğiniz sayfadaki kodlarla linke çevirebilirsiniz. Daha kullanışlı olacaktır.gzou adlı üyeden alıntı: mesajı görüntüle