yazıdaki adresi link yapma

murdock

0
İyinet Üyesi
Katılım
28 Mart 2005
Mesajlar
1,273
Reaction score
3
merhaba arkadaşlar, ben şimdi sözlük tarzı birşey yapıyorum günlerdir bu olayın içinden çıkamadım. şöyle birşey istiyorum;

$normal = $mesaj;
$mesaj = strtolower($mesaj);

burda yapmak istediğim yazıların hepsi küçük karakter yapıldığında linkteki youtube adreslerinde de olan büyük harfleri bozmadan link yapmak. ama diğer yazılar düzgün bir şekilde küçük olsun istiyorum.

burda normalden linki alıp küçülttüğüm mesajdan değiştirmek istiyorum. birden fazla link oldumu sorun çıkmadan hepsini tek tek değişsin. ama linkin başlığındaki tüm harfler yine küçük olsun.

birde link sonunda = yada / gibi karakterleride linke ve başlığa katsın. preg_replace yaparken tam bir yapamadım. çünkü mesela linkler eğer ~link~ 'link' yada (bkz: link) şeklinde yazıldığında sonundaki ~ ' ) gibi karakterleride linkin içine alıyor.

bunu düzgün bir şekilde yapabilmem için yardımcı olabilirseniz sevinirim. lütfen basit ve mevcut kodları editle şeklinde vermeyin çünkü yapamadığım için sürekli birşeyler kaydığı için olmuyor. yapamadım yani.
 

murdock

0
İyinet Üyesi
Katılım
28 Mart 2005
Mesajlar
1,273
Reaction score
3
hallettim. kodlar bunlar daha kısa yoldan hal olabiliyorsa paylaşabilirsiniz.;

PHP:
$mesaj = preg_replace( "'((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?'ie","'<a target=_blank rel=nofollow href=\"http\\3://\\5\\6\\8\\9\" title=\"\\0\">http://\\5\\6\\8\\9</a>'", $mesaj);

$mesaj = str_replace("`\"", "\"", $mesaj);
$mesaj = str_replace("~\"", "\"", $mesaj);
$mesaj = str_replace(")\"", "\"", $mesaj);
$mesaj = str_replace("`\"", "\"", $mesaj);

$mesaj = str_replace("`</a>", "</a>`", $mesaj);
$mesaj = str_replace("~</a>", "</a>~", $mesaj);
$mesaj = str_replace(")</a>", "</a>)", $mesaj);
$mesaj = str_replace("`</a>", "</a>`", $mesaj);

$taro = $mesaj;
$mesaj = strtolower($mesaj);

$aranan = "'>((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?</a>'ie";
if( preg_match_all($aranan,$taro,$out,PREG_SET_ORDER))
{
for($i=0;$i<count($out);$i++)
{

$heyt = strtolower($out[$i][0]);
if(strlen($heyt) > 50){
$heto = explode("/", $heyt);
$herto = substr($heyt , -30);
$heyot = "http://".$heto[2]."/...".$herto;

$mesaj = str_replace($heyt, ">".$heyot, $mesaj);
}


}
}

$aranasn = "'href=\"((http)+(s)?:(//)|(www\.))((\w|\.|\-|_)+)(/)?(\S+)?\"'ie";
if( preg_match_all($aranasn,$taro,$oust,PREG_SET_ORDER))
{
for($i=0;$i<count($oust);$i++)
{

$heyot = strtolower($oust[$i][0]);

$heyort = $oust[$i][0];

$mesaj = str_replace($heyot, "\"".$heyort, $mesaj);



}
}
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Elektronik Sigara Cicisex Porno
Üst