io farei una cosa del genere:
Codice PHP:
$string = "qwerAbCfg";
$search ="/abc/i";
$matches = array();
preg_match_all($search, $string, $matches, PREG_OFFSET_CAPTURE);
$output = '';
$start = 0;
foreach($matches[0] as $match){
$output .= substr($string, $start, $match[1] - $start);
$start += $match[1] - $start ;
$output .= '<b>'.substr($string, $match[1], strlen($match[0]) ).'</b>';
$start += strlen($match[0]);
}
$output .= substr($string, $start);
echo $output;