2016-08-18 4 views
0

Я просмотрел функции similar_text() и levenshtein(), но они только верят, что есть сходства и процентное соотношение этих сходств.Есть ли простой способ возврата WHAT похож на 2 строки в PHP?

То, что я пытаюсь сделать, это сравнить 2 строки, чтобы определить, что на самом деле похоже на двух.

В основном:

<?php 
$string1 = "IMG_1"; 
$string2 = "IMG_2"; 

echo CompareTheseStrings($string1,$string2); // returns "IMG_"; 

Если эта замечательная функция не существует, что было бы лучшим способом для достижения этой цели?

My end game plan должен прочитать список имен файлов, а затем заменить похожий текст на то, что определено пользователем или просто удалить все вместе, но я не хочу заменять каждый уникальный идентификатор файлов.

+3

'implode (array_intersect_assoc (str_split ($ string1), str_split ($ string2)));' –

+0

См. Http://stackoverflow.com/questions/321294/highlight-the-difference-between-two-strings-in- php –

+0

@MarkBaker: Когда значения '$ string1 =" New_IMG_1 "; $ string2 = "Oed_IMG_2"; ', результат [' e_IMG_'] (https://ideone.com/Bwfc4A). –

ответ

-1

preg_match - Выполните соответствие регулярного выражения

Поиски предметных для совпадения с регулярным выражением, данными в шаблоне.

<?php 
$subject = "abcdef"; 
$pattern = '/^def/'; 
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE); 
print_r($matches); 
?> 

Результат:

Array 
(
    [0] => Array 
     (
      [0] => def 
      [1] => 0 
     ) 

) 
+0

По вопросу: *** между 2 строками *** – Script47

-3

Читают «конечной цели» Я думаю, что вы собираетесь об этом полностью неправильно, я думаю, что вы действительно должны смотреть на str_replace

$string1 = "IMG_1"; 
$string2 = "IMG_2"; 

// you would create a loop here to insert each string 
str_replace("IMG", "NEW_TERM", $string1); 

Если вы хотите полностью удалить текст, просто передайте пустую строку в качестве второго параметра

+0

Исправить. Но проблема в том, что я пытаюсь решить для первого параметра. Текст может быть любым для «IMG». Как только я узнаю, что такое первый параметр, я могу выполнить str_replace(). – MrPlentl

+0

Просто передайте ему переменную того, что когда-либо входит пользователь, если пользователь входит в «MP3», то просто передайте это str_replace как переменную str_replace ($ userInput, $ newTerm, $ string1) –

+0

Я не думаю, что «IMG» пользовательский ввод – Max

 Смежные вопросы

  • Нет связанных вопросов^_^