Как вы находите разницу между двумя строками в PHP?

У меня есть 2 строки, которые я хотел бы сравнить, и вернуть позиции разных символов во второй строке.

Например, если у меня

  1. "The brown fox jumps over the lazy dog"
  2. "The quick brown fox jumped over the lazy dog"

Хочу выделить «быстро» и «ред». Как лучше всего сделать это в PHP?

Это может быть более сложная проблема, чем вы думаете. Как бы вы «подчеркнули» различия, если бы в строке 2 была удалена часть строки 1? Вам нужно указать дополнения, удаления и, возможно, модификации?

Prestaul 18.09.2008 08:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
4
1
4 816
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Алгоритм, который вы ищете, - это «самая длинная общая проблема с подстрокой». Отсюда легко определить различия. См. Википедию:

http://en.wikipedia.org/wiki/Diff#Algorithm

Это вызовет у вас головную боль, если вы не определите свою проблему более четко для начала! Предположим, что str1 - это «Аманда и Эми», а str2 - «Аманда и Амилаза Эми».

Ваша функция - вернуть «lase Amy» или «Amylase»?

Правильное определение проблемы - первый шаг к ее решению!

В данном случае это не имеет значения. Оба решения означают, что оригинал был изменен, и это изменение будет отображаться. Я предполагаю, что вернуть «lase Amy» будет проще, поскольку исходная строка не прерывается и находится в начале второй строки.

David 18.09.2008 07:56
Ответ принят как подходящий

Другие вопросы по теме