Разбить по символам на массивы ( str_split($string) ) найти, какая короче ( count($array) ) и сравнить массивы, пробежавшись циклом по более короткому массиву - так найдёте точное различие.
Внутри цикла вывода строк:
- При выводе страниц при встрече с ячейками, где началось различие - открываете тег
<span>
с классом, который выделит ваше различие цветом.
- При встрече с ячейками, где различие продолжается - просто их и выводите.
- При встрече с ячейками, где различие прекратилось - сперва закрываете тег
</span>
- Если далее различий не обнаруживается - выводите ячейки без закрывающего тега
</span>
- Остаток более длинного массива автоматически выделяете
<span>
-ом различия
А ещё есть измерение расстояния Левенштейна (степень похожести строк):
https://www.php.net/manual/ru/function.levenshtein.php - может оно вам нужнее окажется, чем предыдущая писанина.