WMASTERLAR
1 FORUM araçlar diğer
+ Üye Ol Giriş Yap


[-]
Duyuru

WMasterlar - Türkiye'nin en hızlı gelişen ve geliştiren webmaster portalına hoş geldiniz.

Değerli ziyaretçimiz, forumumuzdan en iyi ve en hızlı şekilde faydalanabilmeniz için üye olmanız gerekmektedir. Sitemize üyelikler ücretsizdir. Üye olmadan önce mutlaka Forum Kurallarını okuyunuz. Zaten kayıtlı bir üye iseniz sağ üst köşeden giriş yapabilirsiniz.


Sponsor Reklam
YENİ FORUM SİTEMİZ AÇILMIŞTIR YAKINDA BU SİSTEM KAPANACAKTIR YENİ SİSTEMDEN DEVAM EDİLECEKTİR DUYURULUR. YENİ SİSTEME GEÇMEK İÇİN TIKLAYINIZ.

bul ve <b> içine al

0 Yorum   219 Görüntüleme  
Sosyal Ağlarda Paylaş


#1
Exclamation 
Sponsor Reklam
Sınırsız renk ve yeni nesil PDO sistemli full responsive kurumsal firma yazılımı..

String içerisinde aranılan değer varsa onu <b> tagı içerisine almak istiyorum, arama motorlarında olduğu gibi. örneğin
aranılan değer: deneme qwe
sonuc: 123 qwe 

Bunu yapan fonksiyonu kendim yazdım ama bana çok uzun geldi. Bunu daha kısa bir şekilde nasıl yaparız? Regex ile mümkün mü?

Benim yazdığım fonksiyon:


Kod:
function doBold($org,$sc){
   $org = preg_replace('/[^A-Za-z_ğüşıöçĞÜŞİÖÇ0-9]/u', '', $org);
   $sc = preg_replace('/[^A-Za-z_ğüşıöçĞÜŞİÖÇ0-9]/u', '', $sc);
   if(mb_strtolower($org) == mb_strtolower($sc)) return "<b>".$org."</b>";
   $orgFirst = mb_substr($org,0,1,"UTF-8");
   $scFirst = mb_substr($sc,0,1,"UTF-8");
   if($orgFirst != $scFirst){
       $l = mb_convert_case($scFirst, MB_CASE_TITLE, "UTF-8");
       if( mb_convert_case($scFirst, MB_CASE_TITLE, "UTF-8") == $orgFirst ){
           $sc = $l.mb_substr($sc,1,strlen($sc),"UTF-8");
       }
   }
   $p =  preg_split('/'.$sc.'/u', $org);
   if( isset($p[0]) && trim($p[0]) != "" && isset($p[1]) && trim($p[1]) == "" ){
       return $p[0]."<b>".$sc."</b>";
   }
   if( isset($p[0]) && trim($p[0]) == "" && isset($p[1]) && trim($p[1]) != "" ){
       return "<b>".$sc."</b>".$p[1];
   }
   if( isset($p[0]) && trim($p[0]) != "" && isset($p[1]) && trim($p[1]) != "" ){
       return $p[0]."<b>".$sc."</b>".$p[1];
   }
   return false;
}  

str_replace kullanmanız yeterli olacaktır...

Kod:
$metin = "123 qwe";
$yenimetin = str_replace("qwe", "<b>qwe</b>", $metin);

Edit; Diğer belirttiklerinizi yeni gördüm kusura bakmayın ama dediğim mantıkla fonksiyon oluşturursanız çok zorlancağınızı düşünmüyorum örneğin ;


Kod:
$metin = "123 qwe";
$metin = toBold("qwe", $metin);


function toBold($kelime, $veri)
{
   $yenimetin = str_replace("{$kelime}", "<b>{$kelime}</b>", $veri);
   return $yenimetin;
}  
Teşekkür tarafından verilen:


Sponsor Reklam

Hızlı Menü:


Konuyu Okuyanlar:
1 Ziyaretçi

Anasayfa İletişim Arşiv RSS

Bu site Erkan Yazılım © tarafından desteklenmektedir. 2007-2018