String içerisinde aranılan değer varsa onu 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:

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 "".$org."";
$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]."".$sc."";
}
if( isset($p[0]) && trim($p[0]) == "" && isset($p[1]) && trim($p[1]) != "" ){
return "".$sc."".$p[1];
}
if( isset($p[0]) && trim($p[0]) != "" && isset($p[1]) && trim($p[1]) != "" ){
return $p[0]."".$sc."".$p[1];
}
return false;
}