virgül arasındaki kelimelere link vermek?

0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
öncelikle soracağım şey belki kafalarda "spam" çağrıştırabilir ama öyle bir niyetim yok, bir arkadaşlık sitesi hazırlıyorum ilgi alanları bölümü için kullanacağım.

soruma gelirsek,

php'deki değişken:

PHP:
$ilgi = "kitap, müzik, sinema, tiyatro";

benim sağlamaya çalıştığım html çıktısı:

HTML:
<a href="ilgi.php?ara=kitap">kitap<a>, <a href="ilgi.php?ara=müzik">müzik<a>, <a href="ilgi.php?ara=sinema">sinema<a>, <a href="ilgi.php?ara=tiyatro">tiyatro<a>
 
0
Onaylı Üye
Üye
Katılım
5 Haziran 2006
Mesajlar
1,894
Tepki puanı
7
PHP:
$ilgi="merhaba, selam, ehehe";
$bol=explode(", ",$ilgi);
$say=count($bol);
for ($i=0; $i<=$say; $i++) {
 echo "<a href='link'>$bol[$i]</a>, ";
}
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
teşekkürler angelo ve ceasar...

ceasar: kodda ", " olarak ayırıyor peki kullanıcı müzik,resim,sanat vb. gibi boşluk girmeden girerse nasıl aynı işlemi sağlayabilirim ?
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
onu düşündüm teşekkürler yinede ama öyle yaparsamda ", " kabul etmez hem "," hem ", " hemde " ," kabul edebilecek bir kod yaratılabilse çok güzel olur, çok mu şey istedim ne ;)
 
0
Onaylı Üye
Üye
Katılım
17 Ocak 2006
Mesajlar
1,523
Tepki puanı
0
ben PHP bilmem ama her dilde vardır muhakkak boşluk atma işlemi vardır.Önce boşlukları atar sonra "," şeklide bölersiniz.Basicde trim ile atılıyor PHP yi bilmem.
saygılar..
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
$text = str_replace(' ','',$text);

Trim baştan sondan atar. Alternatif olarak virgule gore explode edilir, for içinde dönerken her bir eleman trimlenir.

Yol ve örnekler çok, bence burada vakit kaybedeceğine, php.net deki örneklerden zaten çözersin.
 
0
Onaylı Üye
Üye
Katılım
18 Ekim 2003
Mesajlar
549
Tepki puanı
0
Konum
Antalya
PHP:
$ilgi="merhaba, selam, ehehe";
$bol=explode(",",$ilgi);
$say=count($bol);
for ($i=0; $i<=$say; $i++) {
 echo "<a href='link.php?aranan=".trim($bol[$i])."'>". trim($bol[$i]). "</a>, ";
}

Ceasarın verdiği kod ve Angelonun verdiği ip ucunun birleşimi

Sanırım işini görür
 
0
Onaylı Üye
Üye
Katılım
19 Temmuz 2005
Mesajlar
2,014
Tepki puanı
1
Konum
about:blank
yada
PHP:
$ilgi="merhaba, selam, ehehe";
$ilgi = ereg_replace(" ", "",$ilgi); // boşlukları alarak
$bol=explode(",",$ilgi);

yapabilirsin.
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
istediğimi tam olarak yapabilen bi kodu yarattım cevaplar sayesinde, teşekkür ederim.
 
0
Onaylı Üye
Üye
Katılım
29 Ekim 2005
Mesajlar
3,592
Tepki puanı
36
kodu en son bu hale getirdim:

PHP:
<?						
$ilgi=$bilgiben[ilgi];					
$ilgi = ereg_replace(", ", ",",$ilgi);
$ilgi = ereg_replace(" ,", ",",$ilgi);
$ilgi = ereg_replace(" , ", ",",$ilgi);
$bol=explode(",",$ilgi);
$say=count($bol);
for ($i=0; $i<=$say; $i++) {
echo "<a href='ilgiara.php?kelime=$bol[$i]'>$bol[$i]</a>, ";
}  
?>

belki benden sonra başka biride takılır...
 
0
Onaylı Üye
Üye
Katılım
27 Şubat 2005
Mesajlar
188
Tepki puanı
0
PHP:
<?                        
$ilgi=$bilgiben[ilgi];                    
$ilgi = ereg_replace(", ", ",",$ilgi);
$ilgi = ereg_replace(" ,", ",",$ilgi);
$ilgi = ereg_replace(" , ", ",",$ilgi);
$bol=explode(",",$ilgi);
$say=count($bol);
for ($i=0; $i<=$say; $i++) {
echo "<a href='ilgiara.php?kelime=$bol[$i]'>$bol[$i]</a>, ";
}  
?>

burdaki kodu yazdırmak yerine tüm linklerin okulumunu birtek degişkene atamamız mümkünmü. mümkünse nasıl yapabiliriz. saygılar.
 
0
Onaylı Üye
Üye
Katılım
5 Haziran 2006
Mesajlar
1,894
Tepki puanı
7
kodu en son bu hale getirdim:

PHP:
<?						
$ilgi=$bilgiben[ilgi];					
$ilgi = ereg_replace(", ", ",",$ilgi);
$ilgi = ereg_replace(" ,", ",",$ilgi);
$ilgi = ereg_replace(" , ", ",",$ilgi);
$bol=explode(",",$ilgi);
$say=count($bol);
for ($i=0; $i<=$say; $i++) {
echo "<a href='ilgiara.php?kelime=$bol[$i]'>$bol[$i]</a>, ";
}  
?>

belki benden sonra başka biride takılır...


3 farklı ereg replace ye gerek yok

PHP:
$bol=explode(",",$metin);
$say=count($bol);

if ($i=0; $i<$say; $i++) {
  $deneme = trim($bol[$i]);
}
trim fonksiyonu baştaki ve sondaki boşlukları keser zaten.
 
Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,043
Tepki puanı
77
Konum
SEO
Ben de soyle bir kod dusundum.
Ancak ilgi degiskeninin sonunda ek bir virgul olmasi sarti ile.

PHP:
$ilgi = "kitap, müzik, sinema, tiyatro,";  
$linkler = preg_replace_callback('/(.*),\s?/U', create_function('$matches', 'return "<a href=\"ilgi.php?ara=".trim($matches[1])."\">$matches[1]</a>,";'), $ilgi);
echo $linkler;
 
0
Onaylı Üye
Üye
Katılım
27 Ekim 2006
Mesajlar
397
Tepki puanı
0
Konum
Gemlik - Bursa
Ben de soyle bir kod dusundum.
Ancak ilgi degiskeninin sonunda ek bir virgul olmasi sarti ile.

PHP:
$ilgi = "kitap, müzik, sinema, tiyatro,";  
$linkler = preg_replace_callback('/(.*),\s?/U', create_function('$matches', 'return "<a href=\"ilgi.php?ara=".trim($matches[1])."\">$matches[1]</a>,";'), $ilgi);
echo $linkler;

iyinet admin abim kelimelere " kitap müzik sinema tiyatro "

virgul nasıl koyduruz $kelime değişkeni aralarına yani site açıklama var sitemde aralarına , koymak istiyorum keywords için
 
0
Onaylı Üye
Üye
Katılım
23 Aralık 2005
Mesajlar
354
Tepki puanı
4
iyinet admin abim kelimelere " kitap müzik sinema tiyatro "

virgul nasıl koyduruz $kelime değişkeni aralarına yani site açıklama var sitemde aralarına , koymak istiyorum keywords için

PHP:
$kelime="kitap müzik sinema tiyatro";
$kelime=str_replace(' ',',',$kelime);
 
Geri
Üst