Как подсветить буквы в слове где есть латиница и кириллица php?

Приходит на вход строка, из нее нужно выбрать слова, где есть кириллица и латиница в одном слове, так же в слове могут быть все символы, я хочу подсветить другим цветом в этих словах буквы которые принадлежат латинице или кириллице, когда символ один, все срабатывает хорошо, когда 2 и более то второй символ не подсвечивает, помогите пожалуйста, как это реализовать?

echo "<table border='1' style='border-collapse:collapse;'>";
    echo '<tr>';
    echo "<td style='padding:10px;'>Модель</td>";
    $count = 0;
    echo "<td style='padding:10px;'>Код</td>";
    echo '</tr>';
    foreach ($arrAllItems as $arrAllItem){
        $i++;
        if ($i > 300) {
            break; 
        }
        // $words = preg_split('/(^[а-яА-ЯёЁ]+[\-\/.,+*()0-9]*[a-zA-Z]+|[a-zA-Z]+[\-\/.,+*()0-9]*[а-яА-ЯёЁ]+)/ui', $arrAllItem['Model'],-1,PREG_SPLIT_NO_EMPTY);
        $wordsVar = preg_match_all('/[а-яА-ЯёЁ]+[\-\/.,+*()0-9]*[a-zA-Z]+|[a-zA-Z]+[\-\/.,+*()0-9]*[а-яА-ЯёЁ]+/ui', $arrAllItem['Model'], $words);
        $new_array = array_values(array_diff($words, array('')));
        foreach ($words[0] as $key => $word) {
           // if (!preg_match_all("/^(?:\p{Cyrillic}+|\p{Latin}+)$/ui", $word, $out)) {
            $arrNonCorrect = array();
            if (preg_match_all("/(?:[а-яА-ЯёЁ]+\W)/ui", $word, $out)) {
                if (!empty($arrAllItem['Model'])) {
                    $str = $arrAllItem['Model'];
                    $res = preg_match_all('/(?:[a-zA-Z]+)/ui', $word, $matches);
                    array_push($arrNonCorrect, array('alltext'=>$arrAllItem['Model'], 'model'=>array('eng'=>$matches[0], 'rus'=>$out[0]), 'CODE'=>$arrAllItem['CODE']));

                    
                    foreach ($arrNonCorrect as $item){
                        echo '<tr>';
                        echo "<td style='padding:10px;'>";
                        // $str = $arrAllItem['Model'];
                        foreach ($item['model']['eng'] as $value) {
                            // echo "<span style='color: red; font-weight:bold;'>".$value."<br></span>";
                            $str = preg_replace('/(?:'.$value.')/ius','<b style="color: blue;">'.$value.'</b>', $str, 1);
                        } 

                        echo $str;
                        echo '</td>';
                       
                        echo "<td style='padding:10px;'>{$item['CODE']}</td>";
                        
                        echo '</tr>';
                    }
                }
                
            }
        }
        
        
    }

    echo '</table>';

введите сюда описание изображения


Ответы (0 шт):