Допустим, у меня есть куча струн продукта, которые могут немного различаться в формате, например, Футболка: Футболка < /li>
[*]
Super Red Megaman < /li>
Super Megaman Blue Fort < /li>
Super Black Megaman Thirt < /li>
Aquamarine
Я хочу сравнить их все и удалить любые слова/символы, которые во всех струнах, в идеале оставить:
Содержимое окружающей строки не всегда будет футболками или следовать определенной шаблоне.
Количество строк для сравнения является переменной. Скорее всего, это не будет более шести, но эффективное решение общего назначения было бы отличным. Аналогично strcmp () только говорит мне, что одна строка такая же, как и другая (или нет).
Мой единственный (неудачный) подход заключался в разделении строк и использовании array_intersect () для сравнения символов по характеру, например, это:
Это приближается: < /p>
Super re Megaman T-shirt[/code]
Но результаты варьируются в зависимости от того, какие символы в оставшейся строковой функции в различиях, с которой я начинаю, и как долго первая строка. И должен быть умный подход к этому, скажем, xersing the Strings или использовать одну из функций обратного вызова массива, которые я могу использовать для итерации по струнам или записям массива. Возможно, array_reduce () ?
Но я не могу обернуть голову, как сравнить n строк с другими строками, чтобы оставить только биты, которые не различаются.
Подробнее здесь: https://stackoverflow.com/questions/797 ... le-strings