Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

replace hatası acil yardım lütfen

Cagatay

0
Onaylı Üye
Üye
Katılım
10 Mart 2006
Mesajlar
2,789
Açılan Konu
181
Tepki puanı
1
bir sorunum var arkadaşlar.
aranan kelimeleri listeliyorum sayfada, arananlar.php 'de
replace kodlarını vereyim

PHP:
<?php
function duzen ($kelime){

$kelime= strtolower($kelime);
$kelime = str_replace("ı","i",$kelime);
$kelime = str_replace("ç","c",$kelime);
$kelime = str_replace("ö","o",$kelime);
$kelime = str_replace("ş","s",$kelime);
$kelime = str_replace("ğ","g",$kelime);
$kelime = str_replace("ü","u",$kelime);

$kelime = str_replace("I","i",$kelime);
$kelime = str_replace(" ","+",$kelime);
$kelime = str_replace("/","",$kelime);
$kelime = str_replace("&","",$kelime);
$kelime = str_replace("'","-",$kelime);
$kelime = str_replace(".","-",$kelime);
$kelime = str_replace("amp;","-",$kelime);
$kelime = str_replace("-","-",$kelime);
$kelime = str_replace("İ","i",$kelime);
$kelime = str_replace("Ğ","g",$kelime);

$kelime = str_replace("Ş","s",$kelime);
$kelime = str_replace("İ","i",$kelime);
$kelime = str_replace("Ö","o",$kelime);
$kelime = str_replace("Ç","c",$kelime);
$kelime = str_replace("#305;","i",$kelime);


$kelime = str_replace("#350;","s",$kelime);
$kelime = str_replace("#287;","g",$kelime);
$kelime = str_replace("?;","i",$kelime);
$kelime = str_replace("#199;","c",$kelime);
$kelime = str_replace("ş","s",$kelime);
return($kelime);
}
?>

bu yukarıdaki
PHP:
$kelime = str_replace(" ","+",$kelime);
bu satırda boşlugu + olarak almış tamam ama linklerin arasındaki boşluğu da + olarak koyuyor..
Benim istedigim sadece url'de boşluklar için + kullanacak, yazıyı normal şekilde sayfada listelerken boşluğu boşluk olarak algılayacak.
Deneme yaptım boşluğu boşluk olrak algılatmak istedim ancak listelenen yazıda boşluk bırakıyor tamam tam istedigim gibi ancak bukez de url'de 2. kelimeyi cıkarmıyor.

mesele sayfada şöyle görüntüyü örnekleyeyim

link : esra balamir
url : arama.php?aranan=esra

yani gerisini almıyor boşlugu replacede boşluk olarak algılatınca.
ama boşlugu + olarak algılatınca da şöyle bir sonuç var

link : esra+balamir
url : arama.php?aranan=esra+balamir

ben şunu yapmak istiyorum yani :

link : esra balamir
url : arama.php?aranan=esra+balamir




bir arkadaş yardımcı olursa cok sevinirim, çok aradım ama sonuç bulamadım ne google nede php sitelerinde net bir cevap bulamadım.
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
duzen() çağırdığın yeri pastele. $kelime ne, nereden geliyor?
 

Cagatay

0
Onaylı Üye
Üye
Katılım
10 Mart 2006
Mesajlar
2,789
Açılan Konu
181
Tepki puanı
1
PHP:
<?

$limit 	=50;
$sira	=$_GET['Sayfa'];
if(($sira=="") or !is_numeric($sira)){
$sira=1;
}

$satirlar 	=mysql_num_rows(mysql_query("select * from arananlar"));
$toplam		=ceil($satirlar/$limit);
$baslangic	=($sira-1)*$limit;

echo "<table border=\"1\" width=\"741\" cellspacing=\"0\" cellpadding=\"0\">
	<tr>
		<td align=\"center\" height=\"30\">Aranan bütün kelimeler</td>
	</tr>
	<tr>
		<td width=\"50%\" valign=\"top\">";
	
		
echo "<table border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#F2F0DC\">";

$aranansor = mysql_query("SELECT * FROM arananlar ORDER BY id DESC LIMIT $baslangic,$limit");
	
While($sonarananyaz=mysql_fetch_array($aranansor)){

$ensoneklenen = duzen($sonarananyaz["aranan"]);

echo "<tr>
		<td><a href=ResimBul.php?aranan=$ensoneklenen>$ensoneklenen</a></td>
	</tr>";
}

echo "</table>";

//-- burası en son aranan bitiş
	
		
		
echo "	</td>
	</tr>
</table>";


?>
bahsettigin kısım bu kısım mı Angelo?
listeleyen bölüm burası kelimeleri
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Kodlar çok düzensiz geldi, asağıdaki sekilde deneyebilir misin?
PHP:
<?

$limit     =50;
$sira    =$_GET['Sayfa'];
if(($sira=="") or !is_numeric($sira)){
$sira=1;
}

$satirlar     =mysql_num_rows(mysql_query("select * from arananlar"));
$toplam        =ceil($satirlar/$limit);
$baslangic    =($sira-1)*$limit;

echo "<table border=\"1\" width=\"741\" cellspacing=\"0\" cellpadding=\"0\">
    <tr>
        <td align=\"center\" height=\"30\">Aranan bütün kelimeler</td>
    </tr>
    <tr>
        <td width=\"50%\" valign=\"top\">";
    
        
echo "<table border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"#F2F0DC\">";

$aranansor = mysql_query("SELECT * FROM arananlar ORDER BY id DESC LIMIT $baslangic,$limit");
    
While($sonarananyaz=mysql_fetch_array($aranansor)){

$ensoneklenen = duzen($sonarananyaz["aranan"]);

echo "<tr>
        <td><a href=ResimBul.php?aranan=$ensoneklenen>$sonarananyaz[aranan]</a></td>
    </tr>";
}

echo "</table>";

//-- burası en son aranan bitiş
    
        
        
echo "    </td>
    </tr>
</table>";


?>
 

Cagatay

0
Onaylı Üye
Üye
Katılım
10 Mart 2006
Mesajlar
2,789
Açılan Konu
181
Tepki puanı
1
ploop teşekkürler, sorun tamamdır verdigin kodlar normale dönderdi.


ancak bir sorun daha var.

2 kelimelik arananları arama sonucunda listelemiyor.

mevcut kod bu ancak tek kelimelik arananlar için sonuç veriyor
PHP:
$dosya=file_get_contents("http://images.google.com.tr/images?svnum=10&hl=tr&gbv=2&q=".$_GET['aranan']);

2 kelimeli aramalarda verdigi sorun ise :
PHP:
Warning: file_get_contents(http://images.google.com.tr/images?svnum=10&hl=tr&gbv=2&q=candan erçetin) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request

buna da bir çözüm varmıdır aceba?
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
$dosya=file_get_contents("http://images.google.com.tr/images?svnum=10&hl=tr&gbv=2&q=".$_GET['aranan']);
kısmını
$dosya=file_get_contents("http://images.google.com.tr/images?svnum=10&hl=tr&gbv=2&q=".$ensoneklenen);
olarak değistirip dener misin?
 

Cagatay

0
Onaylı Üye
Üye
Katılım
10 Mart 2006
Mesajlar
2,789
Açılan Konu
181
Tepki puanı
1
bu kısım arananlarda degilde aranan kelimede ploop.
yani arananlar.php klasöründe degil bu kod, arama formundan gelen veriye göre resim listeliyor ancak verdigin kod ile hata vermedi ama Sonuçlarıda listelemedi nedense
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
o zaman verdiğin tek satırı su sekilde değistir:
$aranan = $_GET['aranan'];
$aranankelime = str_replace(" ","+",$aranan);
$dosya=file_get_contents("http://images.google.com.tr/images?svnum=10&hl=tr&gbv=2&q=".$aranankelime);
 

Cagatay

0
Onaylı Üye
Üye
Katılım
10 Mart 2006
Mesajlar
2,789
Açılan Konu
181
Tepki puanı
1
ploop sen bir dahisin :)

Allah razı olsun, sagolasın.
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Estagfurullah :) kolay gelsin.
 

ploop

0
Onaylı Üye
Üye
Katılım
11 Ekim 2004
Mesajlar
6,964
Açılan Konu
214
Tepki puanı
0
Konum
karavan
Neyi vermedin mi anlamadım?
 

Cagatay

0
Onaylı Üye
Üye
Katılım
10 Mart 2006
Mesajlar
2,789
Açılan Konu
181
Tepki puanı
1
bana diyor heralde.
Ferdi vermisti kodu ama aynısımıydı bilmiyorum calıstıramamıstım.
Senin verdiginle çalıştı sagol tekrar ploop, sonuç olarak sorun halloldu :)
 
Üst