Merhaba arkadaşlar ben yapmış olduğum çalışmada sisteme üye olan kişilerin belirli benim belirlediğim limitlerde smiley yapabilmesini istiyorum mesela .sad. .happy. .wink. .smiley. .frown.. .eek. gibi burdaki cümlede 6 adet smiley kodu mevcut ben limiti 3 ayarlarsam eğer ilk 3 ünü alacak gösterecek ve geriye kalanları da .kod. yada smileyin alt tagı .wink. gibi göstermesini istiyorum.
1 örnek daha veriyorum sorununu daha iyi anlaşılabilmesi için;
a kullanıcısı mesaj kutusunda inputa;
merhaba .happy. nasılsın.wink. ne var ne yok .cool. işler yolunda mı? .confused.
gibi mesajını ekleyip gönderdiginde selectle veri cekilip karşı tarafa yansıtıldığında bende smiley limitini 3 olarak ayarladığım zaman yazılarla beraber ilk 3 smileyi gösterecek ve limiti aşan 2 .cool. ve .confused. smiley cıkmadan bu şekilde kalacak. Farklı bi denemem oldu substr_count fonksiyonu ile saydırıp ifle belirttigim limiti geciyorsa echo ile uyarı verdirme gibi girişimim oldu fakat ozamanda inputa eklenen yazılar degil hic bişey cıkmıyor sadece benim if limiti aşıyorsanın altına yazdıgım echo uyarısını veriyor. Çok uğraştım bu konu üzerinde ama bir türlü başarılı olamadım sizlerden çözüm yolu fikir bekliyorum.
Smiley Kısıtlama Sorunu?
2
●445
- 01-04-2013, 17:57:53
- 02-04-2013, 00:51:23Kod:
<?php $smileyler = array( '.happy.'=>'resim1', '.wink.'=>'resim2', '.cool.'=>'resim3', '.confused.'=>'resim4'); $metin = 'merhaba .happy. nasılsın .wink. ne var ne yok .cool. işler yolunda mı? .confused.'; $i = 0; foreach($smileyler as $key=>$value){ if(strpos($metin, $key)){ $metin = str_replace($key, $value, $metin); $i++; } if($i == 3) break; } echo $metin; ?>Çıktı:
merhaba resim1 nasılsın resim2 ne var ne yok resim3 işler yolunda mı? .confused.
istediğiniz bu muydu? - 02-04-2013, 01:55:53hocam teşekkürler cevapladığınız için kodu denedim fakat tam istediğim şekilde olmuyor mesela orada kullandığınız metin değişkeninin içeriğini
$metin = 'merhaba .cool. .happy. .happy. nasılsın.wink. ne var ne yok.cool. işler yolunda mı? .confused.';
gibi değiştirdiğimde bu kodda limitimiz 3 olmasına rağmen metin değişkeninde de 6 adet smiley ekli ilk 3 ünü gostermesi gerekirken
son smiley .confused. yazı olarak görünüyor bendeki çıktısı
merhaba resim3 resim1 resim1 nasılsınresim2 ne var ne yokresim3 işler yolunda mı? .confused.
bu şekil oluyor hocam benim yapmak istediğim ise
merhaba resim3 resim1 resim1 nasılsın.wink. ne var ne yok.cool.işler yolunda mı? .confused.
şeklinde yani smiley farketmeksizin ilk 3 ten sonrasında inpuuta girildigi gibi yazı olarak görünmesini istiyorum zannediyorum bu kodla aynı türden olan smileyleri göz ardı ediyor yani limite uyarlamıyor