$texy = preg_replace('/\`(.*?)\`/i', '<a href="http://www.sitem.com/$1">$1</a>', $texy);
$texy = preg_replace_callback(
'#(<a href="http://www.*/)([^"]*)(">.*</a>)#i',
create_function('$matches', 'return $matches[1].str_replace(array(" ","ğ","ç","I","ı","ü","ö","ş","--","_","+","<a target=_blank href=","%20"), array("-","g","c","i","i","u","o","s","-","-","-","","-"), $matches[2])."".$matches[3];'),
$texy);
kodlar yuardaki gibi amacım `bişigir` şeklinde yazıldında bunu
<a href=sitem.com/bisigir">bişigir</a> şeklinde değiştirmeye calısıyorum
preg_replace ile önce link yaptım, preg_replace_callback ile url kısmındaki kelimeyi url şeklinde ( türkçeleri kaldırdım ). kod işe yarıyor ama bunu aynı texy de 5 6 kere kullanınca bazısında cıkıyor bazısında cıkmıyor.
örnek:
`bişigir``bişigir``bişigir``bişigir`
bu şekil 4 kere yazıyorum. hepsi link şekline geliyor fakat sadece 4. sü türçe url link oluyor. diğer 3 ü direk türkçe metin (/bişigir) şeklinde oluyor
preg_replace_callback(
'#(<a href="http://www.*/)([^"]*)(">.*</a>)#i',
buradaki parametrelerde bi problem var galiba . yardımcı olabilecek var mı ?
ve ya bu isteğimi daha farklı nasıl yaparım.
preg_replace küçük bi parametre sorunu
9
●857
- 30-12-2008, 22:23:47LaXoR adlı üyeden alıntı: mesajı görüntüle
$message = "bişi yazıldığında bunu otomatik link yapıcak `bişisöyle` bir mesaj gönderme içinde bu şekil"; echo preg_replace('/`(.*)`/e', 'handle_atag(\'$1\')', $message); function handle_atag( $text ){ return "<a href=\"http://www.sitem.com/tag/".seo_title($text)."\">$text</a>"; } function seo_title( $title ){ return preg_replace("/[^A-Za-z0-9_-]/e", "", strtolower( strtr($title, "İĞÜŞÖÇığüşöç /\\&", "igusocigusoc-___") )); }bu şekilde yapabilirsin. - 30-12-2008, 22:53:42teşekkürler hocam yardımın için oldu isteidğim gibi ama bi sorun cıktıfabal adlı üyeden alıntı: mesajı görüntüle
`deneme``mesajmı``burası`
bu şekil yazdığımda 3 link vermesi gerekirken hepsine 1 link veriyor
ve ya `bişisöyle` arada boşluk bişiler var `bişisöyle` olunca komple metni alıyor link veriyor - 30-12-2008, 23:37:25
- 31-12-2008, 00:24:40tmm teşekkürlerjetblack adlı üyeden alıntı: mesajı görüntüle
([^\']*) içinde ' bu var yanlış işaret o yüzden olmuş , ` bunu koydum düzeldi
teşekkürler
teşk hocam ilgilendiğin içinWebLOADER adlı üyeden alıntı: mesajı görüntüle
sorun çözüldü, saolun
o içerideki değeri